// Code generated by MockGen. DO NOT EDIT.
// Source: authelia.com/provider/oauth2 (interfaces: TokenIntrospector)
//
// Generated by this command:
//
//	mockgen -package mocks -destination oauth2_token_introspector.go -mock_names TokenIntrospector=MockTokenIntrospector authelia.com/provider/oauth2 TokenIntrospector
//

// Package mocks is a generated GoMock package.
package mocks

import (
	context "context"
	reflect "reflect"

	oauth2 "authelia.com/provider/oauth2"
	gomock "go.uber.org/mock/gomock"
)

// MockTokenIntrospector is a mock of TokenIntrospector interface.
type MockTokenIntrospector struct {
	ctrl     *gomock.Controller
	recorder *MockTokenIntrospectorMockRecorder
	isgomock struct{}
}

// MockTokenIntrospectorMockRecorder is the mock recorder for MockTokenIntrospector.
type MockTokenIntrospectorMockRecorder struct {
	mock *MockTokenIntrospector
}

// NewMockTokenIntrospector creates a new mock instance.
func NewMockTokenIntrospector(ctrl *gomock.Controller) *MockTokenIntrospector {
	mock := &MockTokenIntrospector{ctrl: ctrl}
	mock.recorder = &MockTokenIntrospectorMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockTokenIntrospector) EXPECT() *MockTokenIntrospectorMockRecorder {
	return m.recorder
}

// IntrospectToken mocks base method.
func (m *MockTokenIntrospector) IntrospectToken(ctx context.Context, token string, tokenUseHint oauth2.TokenUse, requester oauth2.AccessRequester, scopes []string) (oauth2.TokenUse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IntrospectToken", ctx, token, tokenUseHint, requester, scopes)
	ret0, _ := ret[0].(oauth2.TokenUse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IntrospectToken indicates an expected call of IntrospectToken.
func (mr *MockTokenIntrospectorMockRecorder) IntrospectToken(ctx, token, tokenUseHint, requester, scopes any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IntrospectToken", reflect.TypeOf((*MockTokenIntrospector)(nil).IntrospectToken), ctx, token, tokenUseHint, requester, scopes)
}
