// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for github.com/gofiber/fiber, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/gofiber/fiber (exports: Cookie,Ctx,Error; functions: NewError)

// Package fiber is a stub of github.com/gofiber/fiber, generated by depstubber.
package fiber

import (
	context "context"
	tls "crypto/tls"
	io "io"
	multipart "mime/multipart"
	net "net"
	http "net/http"
	time "time"
)

type App struct {
	Settings *Settings
}

func (_ *App) AcquireCtx(_ interface{}) *Ctx {
	return nil
}

func (_ *App) Add(_ string, _ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) All(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Connect(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Delete(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Get(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Group(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Handler() interface{} {
	return nil
}

func (_ *App) Head(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) IsChild() bool {
	return false
}

func (_ *App) Listen(_ interface{}, _ ...*tls.Config) error {
	return nil
}

func (_ *App) Listener(_ net.Listener, _ ...*tls.Config) error {
	return nil
}

func (_ *App) Options(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Patch(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Post(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Put(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) ReleaseCtx(_ *Ctx) {}

func (_ *App) Routes() []*Route {
	return nil
}

func (_ *App) Shutdown() error {
	return nil
}

func (_ *App) Stack() [][]*Route {
	return nil
}

func (_ *App) Static(_ string, _ string, _ ...Static) Router {
	return nil
}

func (_ *App) Test(_ *http.Request, _ ...int) (*http.Response, error) {
	return nil, nil
}

func (_ *App) Trace(_ string, _ ...func(*Ctx)) Router {
	return nil
}

func (_ *App) Use(_ ...interface{}) Router {
	return nil
}

type Cookie struct {
	Name     string
	Value    string
	Path     string
	Domain   string
	Expires  time.Time
	Secure   bool
	HTTPOnly bool
	SameSite string
}

type Ctx struct {
	Fasthttp interface{}
}

func (_ *Ctx) Accepts(_ ...string) string {
	return ""
}

func (_ *Ctx) AcceptsCharsets(_ ...string) string {
	return ""
}

func (_ *Ctx) AcceptsEncodings(_ ...string) string {
	return ""
}

func (_ *Ctx) AcceptsLanguages(_ ...string) string {
	return ""
}

func (_ *Ctx) App() *App {
	return nil
}

func (_ *Ctx) Append(_ string, _ ...string) {}

func (_ *Ctx) Attachment(_ ...string) {}

func (_ *Ctx) BaseURL() string {
	return ""
}

func (_ *Ctx) Body() string {
	return ""
}

func (_ *Ctx) BodyParser(_ interface{}) error {
	return nil
}

func (_ *Ctx) ClearCookie(_ ...string) {}

func (_ *Ctx) Context() context.Context {
	return nil
}

func (_ *Ctx) Cookie(_ *Cookie) {}

func (_ *Ctx) Cookies(_ string, _ ...string) string {
	return ""
}

func (_ *Ctx) Download(_ string, _ ...string) error {
	return nil
}

func (_ *Ctx) Error() error {
	return nil
}

func (_ *Ctx) FormFile(_ string) (*multipart.FileHeader, error) {
	return nil, nil
}

func (_ *Ctx) FormValue(_ string) string {
	return ""
}

func (_ *Ctx) Format(_ interface{}) {}

func (_ *Ctx) Fresh() bool {
	return false
}

func (_ *Ctx) Get(_ string, _ ...string) string {
	return ""
}

func (_ *Ctx) Hostname() string {
	return ""
}

func (_ *Ctx) IP() string {
	return ""
}

func (_ *Ctx) IPs() []string {
	return nil
}

func (_ *Ctx) Is(_ string) bool {
	return false
}

func (_ *Ctx) JSON(_ interface{}) error {
	return nil
}

func (_ *Ctx) JSONP(_ interface{}, _ ...string) error {
	return nil
}

func (_ *Ctx) Links(_ ...string) {}

func (_ *Ctx) Locals(_ string, _ ...interface{}) interface{} {
	return nil
}

func (_ *Ctx) Location(_ string) {}

func (_ *Ctx) Method(_ ...string) string {
	return ""
}

func (_ *Ctx) MultipartForm() (*multipart.Form, error) {
	return nil, nil
}

func (_ *Ctx) Next(_ ...error) {}

func (_ *Ctx) OriginalURL() string {
	return ""
}

func (_ *Ctx) Params(_ string, _ ...string) string {
	return ""
}

func (_ *Ctx) Path(_ ...string) string {
	return ""
}

func (_ *Ctx) Protocol() string {
	return ""
}

func (_ *Ctx) Query(_ string, _ ...string) string {
	return ""
}

func (_ *Ctx) QueryParser(_ interface{}) error {
	return nil
}

func (_ *Ctx) Range(_ int) (Range, error) {
	return Range{}, nil
}

func (_ *Ctx) Redirect(_ string, _ ...int) {}

func (_ *Ctx) Render(_ string, _ interface{}, _ ...string) error {
	return nil
}

func (_ *Ctx) Route() *Route {
	return nil
}

func (_ *Ctx) SaveFile(_ *multipart.FileHeader, _ string) error {
	return nil
}

func (_ *Ctx) Secure() bool {
	return false
}

func (_ *Ctx) Send(_ ...interface{}) {}

func (_ *Ctx) SendBytes(_ []byte) {}

func (_ *Ctx) SendFile(_ string, _ ...bool) error {
	return nil
}

func (_ *Ctx) SendStatus(_ int) {}

func (_ *Ctx) SendStream(_ io.Reader, _ ...int) {}

func (_ *Ctx) SendString(_ string) {}

func (_ *Ctx) Set(_ string, _ string) {}

func (_ *Ctx) Stale() bool {
	return false
}

func (_ *Ctx) Status(_ int) *Ctx {
	return nil
}

func (_ *Ctx) Subdomains(_ ...int) []string {
	return nil
}

func (_ *Ctx) Type(_ string, _ ...string) *Ctx {
	return nil
}

func (_ *Ctx) Vary(_ ...string) {}

func (_ *Ctx) Write(_ ...interface{}) {}

func (_ *Ctx) XHR() bool {
	return false
}

type Error struct {
	Code    int
	Message string
}

func (_ *Error) Error() string {
	return ""
}

func NewError(_ int, _ ...string) *Error {
	return nil
}

type Range struct {
	Type   string
	Ranges []struct {
		Start int
		End   int
	}
}

type Route struct {
	Method   string
	Path     string
	Params   []string
	Handlers []func(*Ctx)
}

type Router interface {
	Add(_ string, _ string, _ ...func(*Ctx)) Router
	All(_ string, _ ...func(*Ctx)) Router
	Connect(_ string, _ ...func(*Ctx)) Router
	Delete(_ string, _ ...func(*Ctx)) Router
	Get(_ string, _ ...func(*Ctx)) Router
	Group(_ string, _ ...func(*Ctx)) Router
	Head(_ string, _ ...func(*Ctx)) Router
	Options(_ string, _ ...func(*Ctx)) Router
	Patch(_ string, _ ...func(*Ctx)) Router
	Post(_ string, _ ...func(*Ctx)) Router
	Put(_ string, _ ...func(*Ctx)) Router
	Static(_ string, _ string, _ ...Static) Router
	Trace(_ string, _ ...func(*Ctx)) Router
	Use(_ ...interface{}) Router
}

type Settings struct {
	ErrorHandler              func(*Ctx, error)
	ServerHeader              string
	StrictRouting             bool
	CaseSensitive             bool
	Immutable                 bool
	UnescapePath              bool
	ETag                      bool
	Prefork                   bool
	BodyLimit                 int
	Concurrency               int
	DisableKeepalive          bool
	DisableDefaultDate        bool
	DisableDefaultContentType bool
	DisableHeaderNormalizing  bool
	DisableStartupMessage     bool
	Views                     Views
	ReadTimeout               time.Duration
	WriteTimeout              time.Duration
	IdleTimeout               time.Duration
	ReadBufferSize            int
	WriteBufferSize           int
	CompressedFileSuffix      string
}

type Static struct {
	Compress  bool
	ByteRange bool
	Browse    bool
	Index     string
}

type Views interface {
	Load() error
	Render(_ io.Writer, _ string, _ interface{}, _ ...string) error
}
