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

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/gofiber/fiber/v2 (exports: ; functions: New,Get,Post)

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

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

type Agent struct {
	Name                     string
	NoDefaultUserAgentHeader bool
	HostClient               interface{}
}

func (_ Agent) CloseIdleConnections() {}

func (_ Agent) ConnsCount() int {
	return 0
}

func (_ Agent) Do(_ interface{}, _ interface{}) error {
	return nil
}

func (_ Agent) DoDeadline(_ interface{}, _ interface{}, _ time.Time) error {
	return nil
}

func (_ Agent) DoRedirects(_ interface{}, _ interface{}, _ int) error {
	return nil
}

func (_ Agent) DoTimeout(_ interface{}, _ interface{}, _ time.Duration) error {
	return nil
}

func (_ Agent) Get(_ []byte, _ string) (int, []byte, error) {
	return 0, nil, nil
}

func (_ Agent) GetDeadline(_ []byte, _ string, _ time.Time) (int, []byte, error) {
	return 0, nil, nil
}

func (_ Agent) GetTimeout(_ []byte, _ string, _ time.Duration) (int, []byte, error) {
	return 0, nil, nil
}

func (_ Agent) LastUseTime() time.Time {
	return time.Time{}
}

func (_ Agent) PendingRequests() int {
	return 0
}

func (_ Agent) Post(_ []byte, _ string, _ interface{}) (int, []byte, error) {
	return 0, nil, nil
}

func (_ Agent) SetMaxConns(_ int) {}

func (_ *Agent) Add(_ string, _ string) *Agent {
	return nil
}

func (_ *Agent) AddBytesK(_ []byte, _ string) *Agent {
	return nil
}

func (_ *Agent) AddBytesKV(_ []byte, _ []byte) *Agent {
	return nil
}

func (_ *Agent) AddBytesV(_ string, _ []byte) *Agent {
	return nil
}

func (_ *Agent) BasicAuth(_ string, _ string) *Agent {
	return nil
}

func (_ *Agent) BasicAuthBytes(_ []byte, _ []byte) *Agent {
	return nil
}

func (_ *Agent) Body(_ []byte) *Agent {
	return nil
}

func (_ *Agent) BodyStream(_ io.Reader, _ int) *Agent {
	return nil
}

func (_ *Agent) BodyString(_ string) *Agent {
	return nil
}

func (_ *Agent) Boundary(_ string) *Agent {
	return nil
}

func (_ *Agent) Bytes() (int, []byte, []error) {
	return 0, nil, nil
}

func (_ *Agent) ConnectionClose() *Agent {
	return nil
}

func (_ *Agent) ContentType(_ string) *Agent {
	return nil
}

func (_ *Agent) ContentTypeBytes(_ []byte) *Agent {
	return nil
}

func (_ *Agent) Cookie(_ string, _ string) *Agent {
	return nil
}

func (_ *Agent) CookieBytesK(_ []byte, _ string) *Agent {
	return nil
}

func (_ *Agent) CookieBytesKV(_ []byte, _ []byte) *Agent {
	return nil
}

func (_ *Agent) Cookies(_ ...string) *Agent {
	return nil
}

func (_ *Agent) CookiesBytesKV(_ ...[]byte) *Agent {
	return nil
}

func (_ *Agent) Debug(_ ...io.Writer) *Agent {
	return nil
}

func (_ *Agent) Dest(_ []byte) *Agent {
	return nil
}

func (_ *Agent) FileData(_ ...*FormFile) *Agent {
	return nil
}

func (_ *Agent) Form(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) Host(_ string) *Agent {
	return nil
}

func (_ *Agent) HostBytes(_ []byte) *Agent {
	return nil
}

func (_ *Agent) InsecureSkipVerify() *Agent {
	return nil
}

func (_ *Agent) JSON(_ interface{}, _ ...string) *Agent {
	return nil
}

func (_ *Agent) JSONDecoder(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) JSONEncoder(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) MaxRedirectsCount(_ int) *Agent {
	return nil
}

func (_ *Agent) MultipartForm(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) Parse() error {
	return nil
}

func (_ *Agent) QueryString(_ string) *Agent {
	return nil
}

func (_ *Agent) QueryStringBytes(_ []byte) *Agent {
	return nil
}

func (_ *Agent) Referer(_ string) *Agent {
	return nil
}

func (_ *Agent) RefererBytes(_ []byte) *Agent {
	return nil
}

func (_ *Agent) Request() interface{} {
	return nil
}

func (_ *Agent) RetryIf(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) Reuse() *Agent {
	return nil
}

func (_ *Agent) SendFile(_ string, _ ...string) *Agent {
	return nil
}

func (_ *Agent) SendFiles(_ ...string) *Agent {
	return nil
}

func (_ *Agent) Set(_ string, _ string) *Agent {
	return nil
}

func (_ *Agent) SetBytesK(_ []byte, _ string) *Agent {
	return nil
}

func (_ *Agent) SetBytesKV(_ []byte, _ []byte) *Agent {
	return nil
}

func (_ *Agent) SetBytesV(_ string, _ []byte) *Agent {
	return nil
}

func (_ *Agent) SetResponse(_ interface{}) *Agent {
	return nil
}

func (_ *Agent) String() (int, string, []error) {
	return 0, "", nil
}

func (_ *Agent) Struct(_ interface{}) (int, []byte, []error) {
	return 0, nil, nil
}

func (_ *Agent) TLSConfig(_ *tls.Config) *Agent {
	return nil
}

func (_ *Agent) Timeout(_ time.Duration) *Agent {
	return nil
}

func (_ *Agent) UserAgent(_ string) *Agent {
	return nil
}

func (_ *Agent) UserAgentBytes(_ []byte) *Agent {
	return nil
}

func (_ *Agent) XML(_ interface{}) *Agent {
	return nil
}

type App struct{}

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

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

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

func (_ *App) Config() Config {
	return Config{}
}

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

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

func (_ *App) ErrorHandler(_ *Ctx, _ error) error {
	return nil
}

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

func (_ *App) GetRoute(_ string) Route {
	return Route{}
}

func (_ *App) GetRoutes(_ ...bool) []Route {
	return nil
}

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

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

func (_ *App) HandlersCount() uint32 {
	return 0
}

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

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

func (_ *App) Listen(_ string) error {
	return nil
}

func (_ *App) ListenMutualTLS(_ string, _ string, _ string, _ string) error {
	return nil
}

func (_ *App) ListenMutualTLSWithCertificate(_ string, _ tls.Certificate, _ *x509.CertPool) error {
	return nil
}

func (_ *App) ListenTLS(_ string, _ string, _ string) error {
	return nil
}

func (_ *App) ListenTLSWithCertificate(_ string, _ tls.Certificate) error {
	return nil
}

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

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

func (_ *App) MountPath() string {
	return ""
}

func (_ *App) Name(_ string) Router {
	return nil
}

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

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

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

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

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

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

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

func (_ *App) SetTLSHandler(_ *TLSHandler) {}

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

func (_ *App) ShutdownWithContext(_ context.Context) error {
	return nil
}

func (_ *App) ShutdownWithTimeout(_ time.Duration) 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) error) Router {
	return nil
}

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

type Colors struct {
	Black   string
	Red     string
	Green   string
	Yellow  string
	Blue    string
	Magenta string
	Cyan    string
	White   string
	Reset   string
}

type Config struct {
	Prefork                      bool
	ServerHeader                 string
	StrictRouting                bool
	CaseSensitive                bool
	Immutable                    bool
	UnescapePath                 bool
	ETag                         bool
	BodyLimit                    int
	Concurrency                  int
	Views                        Views
	ViewsLayout                  string
	PassLocalsToViews            bool
	ReadTimeout                  time.Duration
	WriteTimeout                 time.Duration
	IdleTimeout                  time.Duration
	ReadBufferSize               int
	WriteBufferSize              int
	CompressedFileSuffix         string
	ProxyHeader                  string
	GETOnly                      bool
	ErrorHandler                 func(*Ctx, error) error
	DisableKeepalive             bool
	DisableDefaultDate           bool
	DisableDefaultContentType    bool
	DisableHeaderNormalizing     bool
	DisableStartupMessage        bool
	AppName                      string
	StreamRequestBody            bool
	DisablePreParseMultipartForm bool
	ReduceMemoryUsage            bool
	JSONEncoder                  interface{}
	JSONDecoder                  interface{}
	XMLEncoder                   interface{}
	Network                      string
	EnableTrustedProxyCheck      bool
	TrustedProxies               []string
	EnableIPValidation           bool
	EnablePrintRoutes            bool
	ColorScheme                  Colors
	RequestMethods               []string
	EnableSplittingOnParsers     bool
}

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

type Ctx struct{}

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) AllParams() map[string]string {
	return nil
}

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

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

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

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

func (_ *Ctx) Bind(_ Map) error {
	return nil
}

func (_ *Ctx) Body() []byte {
	return nil
}

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

func (_ *Ctx) BodyRaw() []byte {
	return nil
}

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

func (_ *Ctx) ClientHelloInfo() *tls.ClientHelloInfo {
	return nil
}

func (_ *Ctx) Context() interface{} {
	return nil
}

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

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

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

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

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

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

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

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

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

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

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

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

func (_ *Ctx) GetRouteURL(_ string, _ Map) (string, error) {
	return "", nil
}

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) IsFromLocal() bool {
	return false
}

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

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

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

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

func (_ *Ctx) Locals(_ interface{}, _ ...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 {
	return nil
}

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

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

func (_ *Ctx) ParamsInt(_ string, _ ...int) (int, error) {
	return 0, nil
}

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

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

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

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

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

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

func (_ *Ctx) QueryBool(_ string, _ ...bool) bool {
	return false
}

func (_ *Ctx) QueryFloat(_ string, _ ...float64) float64 {
	return 0
}

func (_ *Ctx) QueryInt(_ string, _ ...int) int {
	return 0
}

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

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

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

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

func (_ *Ctx) RedirectToRoute(_ string, _ Map, _ ...int) error {
	return nil
}

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

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

func (_ *Ctx) Request() interface{} {
	return nil
}

func (_ *Ctx) Response() interface{} {
	return nil
}

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

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

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

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

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

func (_ *Ctx) Send(_ []byte) error {
	return nil
}

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

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

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

func (_ *Ctx) SendString(_ string) error {
	return nil
}

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

func (_ *Ctx) SetUserContext(_ context.Context) {}

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

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

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

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

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

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

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

func (_ *Ctx) Write(_ []byte) (int, error) {
	return 0, nil
}

func (_ *Ctx) WriteString(_ string) (int, error) {
	return 0, nil
}

func (_ *Ctx) Writef(_ string, _ ...interface{}) (int, error) {
	return 0, nil
}

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

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

type FormFile struct {
	Fieldname string
	Name      string
	Content   []byte
}

func Get(_ string) *Agent {
	return nil
}

type Group struct {
	Prefix string
}

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

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

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

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

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

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

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

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

func (_ *Group) Name(_ string) Router {
	return nil
}

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

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

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

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

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

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

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

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

type Hooks struct{}

func (_ *Hooks) OnFork(_ ...func(int) error) {}

func (_ *Hooks) OnGroup(_ ...func(Group) error) {}

func (_ *Hooks) OnGroupName(_ ...func(Group) error) {}

func (_ *Hooks) OnListen(_ ...func(ListenData) error) {}

func (_ *Hooks) OnMount(_ ...func(*App) error) {}

func (_ *Hooks) OnName(_ ...func(Route) error) {}

func (_ *Hooks) OnRoute(_ ...func(Route) error) {}

func (_ *Hooks) OnShutdown(_ ...func() error) {}

type ListenData struct {
	Host string
	Port string
	TLS  bool
}

type Map map[string]interface{}

func New(_ ...Config) *App {
	return nil
}

func Post(_ string) *Agent {
	return nil
}

type Range struct {
	Type   string
	Ranges []RangeSet
}

type RangeSet struct {
	Start int
	End   int
}

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

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

type Static struct {
	Compress       bool
	ByteRange      bool
	Browse         bool
	Download       bool
	Index          string
	CacheDuration  time.Duration
	MaxAge         int
	ModifyResponse func(*Ctx) error
	Next           func(*Ctx) bool
}

type Storage interface {
	Close() error
	Delete(_ string) error
	Get(_ string) ([]byte, error)
	Reset() error
	Set(_ string, _ []byte, _ time.Duration) error
}

type TLSHandler struct{}

func (_ *TLSHandler) GetClientInfo(_ *tls.ClientHelloInfo) (*tls.Certificate, error) {
	return nil, nil
}

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