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

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/go-chi/chi (exports: Context; functions: URLParam,URLParamFromCtx,NewRouter,RouteContext)

// Package chi is a stub of github.com/go-chi/chi, generated by depstubber.
package chi

import (
	context "context"
	http "net/http"
)

type Context struct {
	Routes        Routes
	RoutePath     string
	RouteMethod   string
	RoutePatterns []string
	URLParams     RouteParams
}

func (_ *Context) Reset() {}

func (_ *Context) RoutePattern() string {
	return ""
}

func (_ *Context) URLParam(_ string) string {
	return ""
}

type Middlewares []func(http.Handler) http.Handler

func (_ Middlewares) Handler(_ http.Handler) http.Handler {
	return nil
}

func (_ Middlewares) HandlerFunc(_ http.HandlerFunc) http.Handler {
	return nil
}

type Mux struct{}

func (_ *Mux) Connect(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Delete(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Get(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Group(_ func(Router)) Router {
	return nil
}

func (_ *Mux) Handle(_ string, _ http.Handler) {}

func (_ *Mux) HandleFunc(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Head(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Match(_ *Context, _ string, _ string) bool {
	return false
}

func (_ *Mux) Method(_ string, _ string, _ http.Handler) {}

func (_ *Mux) MethodFunc(_ string, _ string, _ http.HandlerFunc) {}

func (_ *Mux) MethodNotAllowed(_ http.HandlerFunc) {}

func (_ *Mux) MethodNotAllowedHandler() http.HandlerFunc {
	return nil
}

func (_ *Mux) Middlewares() Middlewares {
	return nil
}

func (_ *Mux) Mount(_ string, _ http.Handler) {}

func (_ *Mux) NotFound(_ http.HandlerFunc) {}

func (_ *Mux) NotFoundHandler() http.HandlerFunc {
	return nil
}

func (_ *Mux) Options(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Patch(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Post(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Put(_ string, _ http.HandlerFunc) {}

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

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

func (_ *Mux) ServeHTTP(_ http.ResponseWriter, _ *http.Request) {}

func (_ *Mux) Trace(_ string, _ http.HandlerFunc) {}

func (_ *Mux) Use(_ ...func(http.Handler) http.Handler) {}

func (_ *Mux) With(_ ...func(http.Handler) http.Handler) Router {
	return nil
}

func NewRouter() *Mux {
	return nil
}

type Route struct {
	Pattern   string
	Handlers  map[string]http.Handler
	SubRoutes Routes
}

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

type RouteParams struct {
	Keys   []string
	Values []string
}

func (_ *RouteParams) Add(_ string, _ string) {}

type Router interface {
	Connect(_ string, _ http.HandlerFunc)
	Delete(_ string, _ http.HandlerFunc)
	Get(_ string, _ http.HandlerFunc)
	Group(_ func(Router)) Router
	Handle(_ string, _ http.Handler)
	HandleFunc(_ string, _ http.HandlerFunc)
	Head(_ string, _ http.HandlerFunc)
	Match(_ *Context, _ string, _ string) bool
	Method(_ string, _ string, _ http.Handler)
	MethodFunc(_ string, _ string, _ http.HandlerFunc)
	MethodNotAllowed(_ http.HandlerFunc)
	Middlewares() Middlewares
	Mount(_ string, _ http.Handler)
	NotFound(_ http.HandlerFunc)
	Options(_ string, _ http.HandlerFunc)
	Patch(_ string, _ http.HandlerFunc)
	Post(_ string, _ http.HandlerFunc)
	Put(_ string, _ http.HandlerFunc)
	Route(_ string, _ func(Router)) Router
	Routes() []Route
	ServeHTTP(_ http.ResponseWriter, _ *http.Request)
	Trace(_ string, _ http.HandlerFunc)
	Use(_ ...func(http.Handler) http.Handler)
	With(_ ...func(http.Handler) http.Handler) Router
}

type Routes interface {
	Match(_ *Context, _ string, _ string) bool
	Middlewares() Middlewares
	Routes() []Route
}

func URLParam(_ *http.Request, _ string) string {
	return ""
}

func URLParamFromCtx(_ context.Context, _ string) string {
	return ""
}
