// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for github.com/appleboy/gin-jwt/v2, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/appleboy/gin-jwt/v2 (exports: GinJWTMiddleware; functions: New)

// Package gin is a stub of github.com/appleboy/gin-jwt/v2, generated by depstubber.
package gin

import (
	http "net/http"
	time "time"
)

type GinJWTMiddleware struct {
	Realm                 string
	SigningAlgorithm      string
	Key                   []byte
	KeyFunc               func(interface{}) (interface{}, error)
	Timeout               time.Duration
	MaxRefresh            time.Duration
	Authenticator         func(interface{}) (interface{}, error)
	Authorizator          func(interface{}, interface{}) bool
	PayloadFunc           func(interface{}) MapClaims
	Unauthorized          func(interface{}, int, string)
	LoginResponse         func(interface{}, int, string, time.Time)
	LogoutResponse        func(interface{}, int)
	RefreshResponse       func(interface{}, int, string, time.Time)
	IdentityHandler       func(interface{}) interface{}
	IdentityKey           string
	TokenLookup           string
	TokenHeadName         string
	TimeFunc              func() time.Time
	HTTPStatusMessageFunc func(error, interface{}) string
	PrivKeyFile           string
	PrivKeyBytes          []byte
	PubKeyFile            string
	PrivateKeyPassphrase  string
	PubKeyBytes           []byte
	SendCookie            bool
	CookieMaxAge          time.Duration
	SecureCookie          bool
	CookieHTTPOnly        bool
	CookieDomain          string
	SendAuthorization     bool
	DisabledAbort         bool
	CookieName            string
	CookieSameSite        http.SameSite
}

func (_ *GinJWTMiddleware) CheckIfTokenExpire(_ interface{}) (interface{}, error) {
	return nil, nil
}

func (_ *GinJWTMiddleware) GetClaimsFromJWT(_ interface{}) (MapClaims, error) {
	return nil, nil
}

func (_ *GinJWTMiddleware) LoginHandler(_ interface{}) {}

func (_ *GinJWTMiddleware) LogoutHandler(_ interface{}) {}

func (_ *GinJWTMiddleware) MiddlewareFunc() interface{} {
	return nil
}

func (_ *GinJWTMiddleware) MiddlewareInit() error {
	return nil
}

func (_ *GinJWTMiddleware) ParseToken(_ interface{}) (interface{}, error) {
	return nil, nil
}

func (_ *GinJWTMiddleware) ParseTokenString(_ string) (interface{}, error) {
	return nil, nil
}

func (_ *GinJWTMiddleware) RefreshHandler(_ interface{}) {}

func (_ *GinJWTMiddleware) RefreshToken(_ interface{}) (string, time.Time, error) {
	return "", time.Time{}, nil
}

func (_ *GinJWTMiddleware) TokenGenerator(_ interface{}) (string, time.Time, error) {
	return "", time.Time{}, nil
}

type MapClaims map[string]interface{}

func New(_ *GinJWTMiddleware) (*GinJWTMiddleware, error) {
	return nil, nil
}
