// Code generated by MockGen. DO NOT EDIT.
// Source: types.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_storage.go -package=mocks -source=types.go Storage,PendingAuthorizationStorage,ClientRegistry,UpstreamTokenStorage,UpstreamTokenRefresher,UserStorage,DCRCredentialStore
//

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

import (
	context "context"
	reflect "reflect"
	time "time"

	fosite "github.com/ory/fosite"
	storage "github.com/stacklok/toolhive/pkg/authserver/storage"
	gomock "go.uber.org/mock/gomock"
)

// MockDCRCredentialStore is a mock of DCRCredentialStore interface.
type MockDCRCredentialStore struct {
	ctrl     *gomock.Controller
	recorder *MockDCRCredentialStoreMockRecorder
	isgomock struct{}
}

// MockDCRCredentialStoreMockRecorder is the mock recorder for MockDCRCredentialStore.
type MockDCRCredentialStoreMockRecorder struct {
	mock *MockDCRCredentialStore
}

// NewMockDCRCredentialStore creates a new mock instance.
func NewMockDCRCredentialStore(ctrl *gomock.Controller) *MockDCRCredentialStore {
	mock := &MockDCRCredentialStore{ctrl: ctrl}
	mock.recorder = &MockDCRCredentialStoreMockRecorder{mock}
	return mock
}

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

// GetDCRCredentials mocks base method.
func (m *MockDCRCredentialStore) GetDCRCredentials(ctx context.Context, key storage.DCRKey) (*storage.DCRCredentials, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDCRCredentials", ctx, key)
	ret0, _ := ret[0].(*storage.DCRCredentials)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetDCRCredentials indicates an expected call of GetDCRCredentials.
func (mr *MockDCRCredentialStoreMockRecorder) GetDCRCredentials(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDCRCredentials", reflect.TypeOf((*MockDCRCredentialStore)(nil).GetDCRCredentials), ctx, key)
}

// StoreDCRCredentials mocks base method.
func (m *MockDCRCredentialStore) StoreDCRCredentials(ctx context.Context, creds *storage.DCRCredentials) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StoreDCRCredentials", ctx, creds)
	ret0, _ := ret[0].(error)
	return ret0
}

// StoreDCRCredentials indicates an expected call of StoreDCRCredentials.
func (mr *MockDCRCredentialStoreMockRecorder) StoreDCRCredentials(ctx, creds any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoreDCRCredentials", reflect.TypeOf((*MockDCRCredentialStore)(nil).StoreDCRCredentials), ctx, creds)
}

// MockPendingAuthorizationStorage is a mock of PendingAuthorizationStorage interface.
type MockPendingAuthorizationStorage struct {
	ctrl     *gomock.Controller
	recorder *MockPendingAuthorizationStorageMockRecorder
	isgomock struct{}
}

// MockPendingAuthorizationStorageMockRecorder is the mock recorder for MockPendingAuthorizationStorage.
type MockPendingAuthorizationStorageMockRecorder struct {
	mock *MockPendingAuthorizationStorage
}

// NewMockPendingAuthorizationStorage creates a new mock instance.
func NewMockPendingAuthorizationStorage(ctrl *gomock.Controller) *MockPendingAuthorizationStorage {
	mock := &MockPendingAuthorizationStorage{ctrl: ctrl}
	mock.recorder = &MockPendingAuthorizationStorageMockRecorder{mock}
	return mock
}

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

// DeletePendingAuthorization mocks base method.
func (m *MockPendingAuthorizationStorage) DeletePendingAuthorization(ctx context.Context, state string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePendingAuthorization", ctx, state)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePendingAuthorization indicates an expected call of DeletePendingAuthorization.
func (mr *MockPendingAuthorizationStorageMockRecorder) DeletePendingAuthorization(ctx, state any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePendingAuthorization", reflect.TypeOf((*MockPendingAuthorizationStorage)(nil).DeletePendingAuthorization), ctx, state)
}

// LoadPendingAuthorization mocks base method.
func (m *MockPendingAuthorizationStorage) LoadPendingAuthorization(ctx context.Context, state string) (*storage.PendingAuthorization, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadPendingAuthorization", ctx, state)
	ret0, _ := ret[0].(*storage.PendingAuthorization)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LoadPendingAuthorization indicates an expected call of LoadPendingAuthorization.
func (mr *MockPendingAuthorizationStorageMockRecorder) LoadPendingAuthorization(ctx, state any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadPendingAuthorization", reflect.TypeOf((*MockPendingAuthorizationStorage)(nil).LoadPendingAuthorization), ctx, state)
}

// StorePendingAuthorization mocks base method.
func (m *MockPendingAuthorizationStorage) StorePendingAuthorization(ctx context.Context, state string, pending *storage.PendingAuthorization) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StorePendingAuthorization", ctx, state, pending)
	ret0, _ := ret[0].(error)
	return ret0
}

// StorePendingAuthorization indicates an expected call of StorePendingAuthorization.
func (mr *MockPendingAuthorizationStorageMockRecorder) StorePendingAuthorization(ctx, state, pending any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StorePendingAuthorization", reflect.TypeOf((*MockPendingAuthorizationStorage)(nil).StorePendingAuthorization), ctx, state, pending)
}

// MockClientRegistry is a mock of ClientRegistry interface.
type MockClientRegistry struct {
	ctrl     *gomock.Controller
	recorder *MockClientRegistryMockRecorder
	isgomock struct{}
}

// MockClientRegistryMockRecorder is the mock recorder for MockClientRegistry.
type MockClientRegistryMockRecorder struct {
	mock *MockClientRegistry
}

// NewMockClientRegistry creates a new mock instance.
func NewMockClientRegistry(ctrl *gomock.Controller) *MockClientRegistry {
	mock := &MockClientRegistry{ctrl: ctrl}
	mock.recorder = &MockClientRegistryMockRecorder{mock}
	return mock
}

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

// ClientAssertionJWTValid mocks base method.
func (m *MockClientRegistry) ClientAssertionJWTValid(ctx context.Context, jti string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClientAssertionJWTValid", ctx, jti)
	ret0, _ := ret[0].(error)
	return ret0
}

// ClientAssertionJWTValid indicates an expected call of ClientAssertionJWTValid.
func (mr *MockClientRegistryMockRecorder) ClientAssertionJWTValid(ctx, jti any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientAssertionJWTValid", reflect.TypeOf((*MockClientRegistry)(nil).ClientAssertionJWTValid), ctx, jti)
}

// GetClient mocks base method.
func (m *MockClientRegistry) GetClient(ctx context.Context, id string) (fosite.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetClient", ctx, id)
	ret0, _ := ret[0].(fosite.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetClient indicates an expected call of GetClient.
func (mr *MockClientRegistryMockRecorder) GetClient(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClient", reflect.TypeOf((*MockClientRegistry)(nil).GetClient), ctx, id)
}

// RegisterClient mocks base method.
func (m *MockClientRegistry) RegisterClient(ctx context.Context, client fosite.Client) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RegisterClient", ctx, client)
	ret0, _ := ret[0].(error)
	return ret0
}

// RegisterClient indicates an expected call of RegisterClient.
func (mr *MockClientRegistryMockRecorder) RegisterClient(ctx, client any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterClient", reflect.TypeOf((*MockClientRegistry)(nil).RegisterClient), ctx, client)
}

// SetClientAssertionJWT mocks base method.
func (m *MockClientRegistry) SetClientAssertionJWT(ctx context.Context, jti string, exp time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetClientAssertionJWT", ctx, jti, exp)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetClientAssertionJWT indicates an expected call of SetClientAssertionJWT.
func (mr *MockClientRegistryMockRecorder) SetClientAssertionJWT(ctx, jti, exp any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetClientAssertionJWT", reflect.TypeOf((*MockClientRegistry)(nil).SetClientAssertionJWT), ctx, jti, exp)
}

// MockUpstreamTokenStorage is a mock of UpstreamTokenStorage interface.
type MockUpstreamTokenStorage struct {
	ctrl     *gomock.Controller
	recorder *MockUpstreamTokenStorageMockRecorder
	isgomock struct{}
}

// MockUpstreamTokenStorageMockRecorder is the mock recorder for MockUpstreamTokenStorage.
type MockUpstreamTokenStorageMockRecorder struct {
	mock *MockUpstreamTokenStorage
}

// NewMockUpstreamTokenStorage creates a new mock instance.
func NewMockUpstreamTokenStorage(ctrl *gomock.Controller) *MockUpstreamTokenStorage {
	mock := &MockUpstreamTokenStorage{ctrl: ctrl}
	mock.recorder = &MockUpstreamTokenStorageMockRecorder{mock}
	return mock
}

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

// DeleteUpstreamTokens mocks base method.
func (m *MockUpstreamTokenStorage) DeleteUpstreamTokens(ctx context.Context, sessionID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteUpstreamTokens", ctx, sessionID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteUpstreamTokens indicates an expected call of DeleteUpstreamTokens.
func (mr *MockUpstreamTokenStorageMockRecorder) DeleteUpstreamTokens(ctx, sessionID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUpstreamTokens", reflect.TypeOf((*MockUpstreamTokenStorage)(nil).DeleteUpstreamTokens), ctx, sessionID)
}

// GetAllUpstreamTokens mocks base method.
func (m *MockUpstreamTokenStorage) GetAllUpstreamTokens(ctx context.Context, sessionID string) (map[string]*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAllUpstreamTokens", ctx, sessionID)
	ret0, _ := ret[0].(map[string]*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAllUpstreamTokens indicates an expected call of GetAllUpstreamTokens.
func (mr *MockUpstreamTokenStorageMockRecorder) GetAllUpstreamTokens(ctx, sessionID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllUpstreamTokens", reflect.TypeOf((*MockUpstreamTokenStorage)(nil).GetAllUpstreamTokens), ctx, sessionID)
}

// GetLatestUpstreamTokensForUser mocks base method.
func (m *MockUpstreamTokenStorage) GetLatestUpstreamTokensForUser(ctx context.Context, userID, providerID string) (*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLatestUpstreamTokensForUser", ctx, userID, providerID)
	ret0, _ := ret[0].(*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetLatestUpstreamTokensForUser indicates an expected call of GetLatestUpstreamTokensForUser.
func (mr *MockUpstreamTokenStorageMockRecorder) GetLatestUpstreamTokensForUser(ctx, userID, providerID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestUpstreamTokensForUser", reflect.TypeOf((*MockUpstreamTokenStorage)(nil).GetLatestUpstreamTokensForUser), ctx, userID, providerID)
}

// GetUpstreamTokens mocks base method.
func (m *MockUpstreamTokenStorage) GetUpstreamTokens(ctx context.Context, sessionID, providerName string) (*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUpstreamTokens", ctx, sessionID, providerName)
	ret0, _ := ret[0].(*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUpstreamTokens indicates an expected call of GetUpstreamTokens.
func (mr *MockUpstreamTokenStorageMockRecorder) GetUpstreamTokens(ctx, sessionID, providerName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUpstreamTokens", reflect.TypeOf((*MockUpstreamTokenStorage)(nil).GetUpstreamTokens), ctx, sessionID, providerName)
}

// StoreUpstreamTokens mocks base method.
func (m *MockUpstreamTokenStorage) StoreUpstreamTokens(ctx context.Context, sessionID, providerName string, tokens *storage.UpstreamTokens) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StoreUpstreamTokens", ctx, sessionID, providerName, tokens)
	ret0, _ := ret[0].(error)
	return ret0
}

// StoreUpstreamTokens indicates an expected call of StoreUpstreamTokens.
func (mr *MockUpstreamTokenStorageMockRecorder) StoreUpstreamTokens(ctx, sessionID, providerName, tokens any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoreUpstreamTokens", reflect.TypeOf((*MockUpstreamTokenStorage)(nil).StoreUpstreamTokens), ctx, sessionID, providerName, tokens)
}

// MockUpstreamTokenRefresher is a mock of UpstreamTokenRefresher interface.
type MockUpstreamTokenRefresher struct {
	ctrl     *gomock.Controller
	recorder *MockUpstreamTokenRefresherMockRecorder
	isgomock struct{}
}

// MockUpstreamTokenRefresherMockRecorder is the mock recorder for MockUpstreamTokenRefresher.
type MockUpstreamTokenRefresherMockRecorder struct {
	mock *MockUpstreamTokenRefresher
}

// NewMockUpstreamTokenRefresher creates a new mock instance.
func NewMockUpstreamTokenRefresher(ctrl *gomock.Controller) *MockUpstreamTokenRefresher {
	mock := &MockUpstreamTokenRefresher{ctrl: ctrl}
	mock.recorder = &MockUpstreamTokenRefresherMockRecorder{mock}
	return mock
}

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

// RefreshAndStore mocks base method.
func (m *MockUpstreamTokenRefresher) RefreshAndStore(ctx context.Context, sessionID string, expired *storage.UpstreamTokens) (*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RefreshAndStore", ctx, sessionID, expired)
	ret0, _ := ret[0].(*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RefreshAndStore indicates an expected call of RefreshAndStore.
func (mr *MockUpstreamTokenRefresherMockRecorder) RefreshAndStore(ctx, sessionID, expired any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RefreshAndStore", reflect.TypeOf((*MockUpstreamTokenRefresher)(nil).RefreshAndStore), ctx, sessionID, expired)
}

// MockUserStorage is a mock of UserStorage interface.
type MockUserStorage struct {
	ctrl     *gomock.Controller
	recorder *MockUserStorageMockRecorder
	isgomock struct{}
}

// MockUserStorageMockRecorder is the mock recorder for MockUserStorage.
type MockUserStorageMockRecorder struct {
	mock *MockUserStorage
}

// NewMockUserStorage creates a new mock instance.
func NewMockUserStorage(ctrl *gomock.Controller) *MockUserStorage {
	mock := &MockUserStorage{ctrl: ctrl}
	mock.recorder = &MockUserStorageMockRecorder{mock}
	return mock
}

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

// CreateProviderIdentity mocks base method.
func (m *MockUserStorage) CreateProviderIdentity(ctx context.Context, identity *storage.ProviderIdentity) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateProviderIdentity", ctx, identity)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateProviderIdentity indicates an expected call of CreateProviderIdentity.
func (mr *MockUserStorageMockRecorder) CreateProviderIdentity(ctx, identity any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProviderIdentity", reflect.TypeOf((*MockUserStorage)(nil).CreateProviderIdentity), ctx, identity)
}

// CreateUser mocks base method.
func (m *MockUserStorage) CreateUser(ctx context.Context, user *storage.User) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateUser", ctx, user)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateUser indicates an expected call of CreateUser.
func (mr *MockUserStorageMockRecorder) CreateUser(ctx, user any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUser", reflect.TypeOf((*MockUserStorage)(nil).CreateUser), ctx, user)
}

// DeleteUser mocks base method.
func (m *MockUserStorage) DeleteUser(ctx context.Context, id string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteUser", ctx, id)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteUser indicates an expected call of DeleteUser.
func (mr *MockUserStorageMockRecorder) DeleteUser(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockUserStorage)(nil).DeleteUser), ctx, id)
}

// GetProviderIdentity mocks base method.
func (m *MockUserStorage) GetProviderIdentity(ctx context.Context, providerID, providerSubject string) (*storage.ProviderIdentity, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProviderIdentity", ctx, providerID, providerSubject)
	ret0, _ := ret[0].(*storage.ProviderIdentity)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetProviderIdentity indicates an expected call of GetProviderIdentity.
func (mr *MockUserStorageMockRecorder) GetProviderIdentity(ctx, providerID, providerSubject any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProviderIdentity", reflect.TypeOf((*MockUserStorage)(nil).GetProviderIdentity), ctx, providerID, providerSubject)
}

// GetUser mocks base method.
func (m *MockUserStorage) GetUser(ctx context.Context, id string) (*storage.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUser", ctx, id)
	ret0, _ := ret[0].(*storage.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUser indicates an expected call of GetUser.
func (mr *MockUserStorageMockRecorder) GetUser(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockUserStorage)(nil).GetUser), ctx, id)
}

// GetUserProviderIdentities mocks base method.
func (m *MockUserStorage) GetUserProviderIdentities(ctx context.Context, userID string) ([]*storage.ProviderIdentity, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserProviderIdentities", ctx, userID)
	ret0, _ := ret[0].([]*storage.ProviderIdentity)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUserProviderIdentities indicates an expected call of GetUserProviderIdentities.
func (mr *MockUserStorageMockRecorder) GetUserProviderIdentities(ctx, userID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserProviderIdentities", reflect.TypeOf((*MockUserStorage)(nil).GetUserProviderIdentities), ctx, userID)
}

// UpdateProviderIdentityLastUsed mocks base method.
func (m *MockUserStorage) UpdateProviderIdentityLastUsed(ctx context.Context, providerID, providerSubject string, lastUsedAt time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateProviderIdentityLastUsed", ctx, providerID, providerSubject, lastUsedAt)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateProviderIdentityLastUsed indicates an expected call of UpdateProviderIdentityLastUsed.
func (mr *MockUserStorageMockRecorder) UpdateProviderIdentityLastUsed(ctx, providerID, providerSubject, lastUsedAt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProviderIdentityLastUsed", reflect.TypeOf((*MockUserStorage)(nil).UpdateProviderIdentityLastUsed), ctx, providerID, providerSubject, lastUsedAt)
}

// MockStorage is a mock of Storage interface.
type MockStorage struct {
	ctrl     *gomock.Controller
	recorder *MockStorageMockRecorder
	isgomock struct{}
}

// MockStorageMockRecorder is the mock recorder for MockStorage.
type MockStorageMockRecorder struct {
	mock *MockStorage
}

// NewMockStorage creates a new mock instance.
func NewMockStorage(ctrl *gomock.Controller) *MockStorage {
	mock := &MockStorage{ctrl: ctrl}
	mock.recorder = &MockStorageMockRecorder{mock}
	return mock
}

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

// ClientAssertionJWTValid mocks base method.
func (m *MockStorage) ClientAssertionJWTValid(ctx context.Context, jti string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClientAssertionJWTValid", ctx, jti)
	ret0, _ := ret[0].(error)
	return ret0
}

// ClientAssertionJWTValid indicates an expected call of ClientAssertionJWTValid.
func (mr *MockStorageMockRecorder) ClientAssertionJWTValid(ctx, jti any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientAssertionJWTValid", reflect.TypeOf((*MockStorage)(nil).ClientAssertionJWTValid), ctx, jti)
}

// Close mocks base method.
func (m *MockStorage) Close() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close")
	ret0, _ := ret[0].(error)
	return ret0
}

// Close indicates an expected call of Close.
func (mr *MockStorageMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockStorage)(nil).Close))
}

// CreateAccessTokenSession mocks base method.
func (m *MockStorage) CreateAccessTokenSession(ctx context.Context, signature string, request fosite.Requester) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateAccessTokenSession", ctx, signature, request)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateAccessTokenSession indicates an expected call of CreateAccessTokenSession.
func (mr *MockStorageMockRecorder) CreateAccessTokenSession(ctx, signature, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessTokenSession", reflect.TypeOf((*MockStorage)(nil).CreateAccessTokenSession), ctx, signature, request)
}

// CreateAuthorizeCodeSession mocks base method.
func (m *MockStorage) CreateAuthorizeCodeSession(ctx context.Context, code string, request fosite.Requester) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateAuthorizeCodeSession", ctx, code, request)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateAuthorizeCodeSession indicates an expected call of CreateAuthorizeCodeSession.
func (mr *MockStorageMockRecorder) CreateAuthorizeCodeSession(ctx, code, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAuthorizeCodeSession", reflect.TypeOf((*MockStorage)(nil).CreateAuthorizeCodeSession), ctx, code, request)
}

// CreatePKCERequestSession mocks base method.
func (m *MockStorage) CreatePKCERequestSession(ctx context.Context, signature string, requester fosite.Requester) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreatePKCERequestSession", ctx, signature, requester)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreatePKCERequestSession indicates an expected call of CreatePKCERequestSession.
func (mr *MockStorageMockRecorder) CreatePKCERequestSession(ctx, signature, requester any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePKCERequestSession", reflect.TypeOf((*MockStorage)(nil).CreatePKCERequestSession), ctx, signature, requester)
}

// CreateProviderIdentity mocks base method.
func (m *MockStorage) CreateProviderIdentity(ctx context.Context, identity *storage.ProviderIdentity) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateProviderIdentity", ctx, identity)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateProviderIdentity indicates an expected call of CreateProviderIdentity.
func (mr *MockStorageMockRecorder) CreateProviderIdentity(ctx, identity any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProviderIdentity", reflect.TypeOf((*MockStorage)(nil).CreateProviderIdentity), ctx, identity)
}

// CreateRefreshTokenSession mocks base method.
func (m *MockStorage) CreateRefreshTokenSession(ctx context.Context, signature, accessSignature string, request fosite.Requester) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateRefreshTokenSession", ctx, signature, accessSignature, request)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateRefreshTokenSession indicates an expected call of CreateRefreshTokenSession.
func (mr *MockStorageMockRecorder) CreateRefreshTokenSession(ctx, signature, accessSignature, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRefreshTokenSession", reflect.TypeOf((*MockStorage)(nil).CreateRefreshTokenSession), ctx, signature, accessSignature, request)
}

// CreateUser mocks base method.
func (m *MockStorage) CreateUser(ctx context.Context, user *storage.User) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateUser", ctx, user)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateUser indicates an expected call of CreateUser.
func (mr *MockStorageMockRecorder) CreateUser(ctx, user any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUser", reflect.TypeOf((*MockStorage)(nil).CreateUser), ctx, user)
}

// DeleteAccessTokenSession mocks base method.
func (m *MockStorage) DeleteAccessTokenSession(ctx context.Context, signature string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteAccessTokenSession", ctx, signature)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteAccessTokenSession indicates an expected call of DeleteAccessTokenSession.
func (mr *MockStorageMockRecorder) DeleteAccessTokenSession(ctx, signature any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessTokenSession", reflect.TypeOf((*MockStorage)(nil).DeleteAccessTokenSession), ctx, signature)
}

// DeletePKCERequestSession mocks base method.
func (m *MockStorage) DeletePKCERequestSession(ctx context.Context, signature string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePKCERequestSession", ctx, signature)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePKCERequestSession indicates an expected call of DeletePKCERequestSession.
func (mr *MockStorageMockRecorder) DeletePKCERequestSession(ctx, signature any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePKCERequestSession", reflect.TypeOf((*MockStorage)(nil).DeletePKCERequestSession), ctx, signature)
}

// DeletePendingAuthorization mocks base method.
func (m *MockStorage) DeletePendingAuthorization(ctx context.Context, state string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePendingAuthorization", ctx, state)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePendingAuthorization indicates an expected call of DeletePendingAuthorization.
func (mr *MockStorageMockRecorder) DeletePendingAuthorization(ctx, state any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePendingAuthorization", reflect.TypeOf((*MockStorage)(nil).DeletePendingAuthorization), ctx, state)
}

// DeleteRefreshTokenSession mocks base method.
func (m *MockStorage) DeleteRefreshTokenSession(ctx context.Context, signature string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteRefreshTokenSession", ctx, signature)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteRefreshTokenSession indicates an expected call of DeleteRefreshTokenSession.
func (mr *MockStorageMockRecorder) DeleteRefreshTokenSession(ctx, signature any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRefreshTokenSession", reflect.TypeOf((*MockStorage)(nil).DeleteRefreshTokenSession), ctx, signature)
}

// DeleteUpstreamTokens mocks base method.
func (m *MockStorage) DeleteUpstreamTokens(ctx context.Context, sessionID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteUpstreamTokens", ctx, sessionID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteUpstreamTokens indicates an expected call of DeleteUpstreamTokens.
func (mr *MockStorageMockRecorder) DeleteUpstreamTokens(ctx, sessionID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUpstreamTokens", reflect.TypeOf((*MockStorage)(nil).DeleteUpstreamTokens), ctx, sessionID)
}

// DeleteUser mocks base method.
func (m *MockStorage) DeleteUser(ctx context.Context, id string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteUser", ctx, id)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteUser indicates an expected call of DeleteUser.
func (mr *MockStorageMockRecorder) DeleteUser(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockStorage)(nil).DeleteUser), ctx, id)
}

// GetAccessTokenSession mocks base method.
func (m *MockStorage) GetAccessTokenSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessTokenSession", ctx, signature, session)
	ret0, _ := ret[0].(fosite.Requester)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccessTokenSession indicates an expected call of GetAccessTokenSession.
func (mr *MockStorageMockRecorder) GetAccessTokenSession(ctx, signature, session any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokenSession", reflect.TypeOf((*MockStorage)(nil).GetAccessTokenSession), ctx, signature, session)
}

// GetAllUpstreamTokens mocks base method.
func (m *MockStorage) GetAllUpstreamTokens(ctx context.Context, sessionID string) (map[string]*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAllUpstreamTokens", ctx, sessionID)
	ret0, _ := ret[0].(map[string]*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAllUpstreamTokens indicates an expected call of GetAllUpstreamTokens.
func (mr *MockStorageMockRecorder) GetAllUpstreamTokens(ctx, sessionID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllUpstreamTokens", reflect.TypeOf((*MockStorage)(nil).GetAllUpstreamTokens), ctx, sessionID)
}

// GetAuthorizeCodeSession mocks base method.
func (m *MockStorage) GetAuthorizeCodeSession(ctx context.Context, code string, session fosite.Session) (fosite.Requester, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAuthorizeCodeSession", ctx, code, session)
	ret0, _ := ret[0].(fosite.Requester)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAuthorizeCodeSession indicates an expected call of GetAuthorizeCodeSession.
func (mr *MockStorageMockRecorder) GetAuthorizeCodeSession(ctx, code, session any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAuthorizeCodeSession", reflect.TypeOf((*MockStorage)(nil).GetAuthorizeCodeSession), ctx, code, session)
}

// GetClient mocks base method.
func (m *MockStorage) GetClient(ctx context.Context, id string) (fosite.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetClient", ctx, id)
	ret0, _ := ret[0].(fosite.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetClient indicates an expected call of GetClient.
func (mr *MockStorageMockRecorder) GetClient(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClient", reflect.TypeOf((*MockStorage)(nil).GetClient), ctx, id)
}

// GetLatestUpstreamTokensForUser mocks base method.
func (m *MockStorage) GetLatestUpstreamTokensForUser(ctx context.Context, userID, providerID string) (*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLatestUpstreamTokensForUser", ctx, userID, providerID)
	ret0, _ := ret[0].(*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetLatestUpstreamTokensForUser indicates an expected call of GetLatestUpstreamTokensForUser.
func (mr *MockStorageMockRecorder) GetLatestUpstreamTokensForUser(ctx, userID, providerID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestUpstreamTokensForUser", reflect.TypeOf((*MockStorage)(nil).GetLatestUpstreamTokensForUser), ctx, userID, providerID)
}

// GetPKCERequestSession mocks base method.
func (m *MockStorage) GetPKCERequestSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPKCERequestSession", ctx, signature, session)
	ret0, _ := ret[0].(fosite.Requester)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetPKCERequestSession indicates an expected call of GetPKCERequestSession.
func (mr *MockStorageMockRecorder) GetPKCERequestSession(ctx, signature, session any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPKCERequestSession", reflect.TypeOf((*MockStorage)(nil).GetPKCERequestSession), ctx, signature, session)
}

// GetProviderIdentity mocks base method.
func (m *MockStorage) GetProviderIdentity(ctx context.Context, providerID, providerSubject string) (*storage.ProviderIdentity, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProviderIdentity", ctx, providerID, providerSubject)
	ret0, _ := ret[0].(*storage.ProviderIdentity)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetProviderIdentity indicates an expected call of GetProviderIdentity.
func (mr *MockStorageMockRecorder) GetProviderIdentity(ctx, providerID, providerSubject any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProviderIdentity", reflect.TypeOf((*MockStorage)(nil).GetProviderIdentity), ctx, providerID, providerSubject)
}

// GetRefreshTokenSession mocks base method.
func (m *MockStorage) GetRefreshTokenSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRefreshTokenSession", ctx, signature, session)
	ret0, _ := ret[0].(fosite.Requester)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRefreshTokenSession indicates an expected call of GetRefreshTokenSession.
func (mr *MockStorageMockRecorder) GetRefreshTokenSession(ctx, signature, session any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRefreshTokenSession", reflect.TypeOf((*MockStorage)(nil).GetRefreshTokenSession), ctx, signature, session)
}

// GetUpstreamTokens mocks base method.
func (m *MockStorage) GetUpstreamTokens(ctx context.Context, sessionID, providerName string) (*storage.UpstreamTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUpstreamTokens", ctx, sessionID, providerName)
	ret0, _ := ret[0].(*storage.UpstreamTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUpstreamTokens indicates an expected call of GetUpstreamTokens.
func (mr *MockStorageMockRecorder) GetUpstreamTokens(ctx, sessionID, providerName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUpstreamTokens", reflect.TypeOf((*MockStorage)(nil).GetUpstreamTokens), ctx, sessionID, providerName)
}

// GetUser mocks base method.
func (m *MockStorage) GetUser(ctx context.Context, id string) (*storage.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUser", ctx, id)
	ret0, _ := ret[0].(*storage.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUser indicates an expected call of GetUser.
func (mr *MockStorageMockRecorder) GetUser(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockStorage)(nil).GetUser), ctx, id)
}

// GetUserProviderIdentities mocks base method.
func (m *MockStorage) GetUserProviderIdentities(ctx context.Context, userID string) ([]*storage.ProviderIdentity, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserProviderIdentities", ctx, userID)
	ret0, _ := ret[0].([]*storage.ProviderIdentity)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUserProviderIdentities indicates an expected call of GetUserProviderIdentities.
func (mr *MockStorageMockRecorder) GetUserProviderIdentities(ctx, userID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserProviderIdentities", reflect.TypeOf((*MockStorage)(nil).GetUserProviderIdentities), ctx, userID)
}

// Health mocks base method.
func (m *MockStorage) Health(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Health", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Health indicates an expected call of Health.
func (mr *MockStorageMockRecorder) Health(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Health", reflect.TypeOf((*MockStorage)(nil).Health), ctx)
}

// InvalidateAuthorizeCodeSession mocks base method.
func (m *MockStorage) InvalidateAuthorizeCodeSession(ctx context.Context, code string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InvalidateAuthorizeCodeSession", ctx, code)
	ret0, _ := ret[0].(error)
	return ret0
}

// InvalidateAuthorizeCodeSession indicates an expected call of InvalidateAuthorizeCodeSession.
func (mr *MockStorageMockRecorder) InvalidateAuthorizeCodeSession(ctx, code any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InvalidateAuthorizeCodeSession", reflect.TypeOf((*MockStorage)(nil).InvalidateAuthorizeCodeSession), ctx, code)
}

// LoadPendingAuthorization mocks base method.
func (m *MockStorage) LoadPendingAuthorization(ctx context.Context, state string) (*storage.PendingAuthorization, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadPendingAuthorization", ctx, state)
	ret0, _ := ret[0].(*storage.PendingAuthorization)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LoadPendingAuthorization indicates an expected call of LoadPendingAuthorization.
func (mr *MockStorageMockRecorder) LoadPendingAuthorization(ctx, state any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadPendingAuthorization", reflect.TypeOf((*MockStorage)(nil).LoadPendingAuthorization), ctx, state)
}

// RegisterClient mocks base method.
func (m *MockStorage) RegisterClient(ctx context.Context, client fosite.Client) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RegisterClient", ctx, client)
	ret0, _ := ret[0].(error)
	return ret0
}

// RegisterClient indicates an expected call of RegisterClient.
func (mr *MockStorageMockRecorder) RegisterClient(ctx, client any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterClient", reflect.TypeOf((*MockStorage)(nil).RegisterClient), ctx, client)
}

// RevokeAccessToken mocks base method.
func (m *MockStorage) RevokeAccessToken(ctx context.Context, requestID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RevokeAccessToken", ctx, requestID)
	ret0, _ := ret[0].(error)
	return ret0
}

// RevokeAccessToken indicates an expected call of RevokeAccessToken.
func (mr *MockStorageMockRecorder) RevokeAccessToken(ctx, requestID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeAccessToken", reflect.TypeOf((*MockStorage)(nil).RevokeAccessToken), ctx, requestID)
}

// RevokeRefreshToken mocks base method.
func (m *MockStorage) RevokeRefreshToken(ctx context.Context, requestID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RevokeRefreshToken", ctx, requestID)
	ret0, _ := ret[0].(error)
	return ret0
}

// RevokeRefreshToken indicates an expected call of RevokeRefreshToken.
func (mr *MockStorageMockRecorder) RevokeRefreshToken(ctx, requestID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeRefreshToken", reflect.TypeOf((*MockStorage)(nil).RevokeRefreshToken), ctx, requestID)
}

// RotateRefreshToken mocks base method.
func (m *MockStorage) RotateRefreshToken(ctx context.Context, requestID, refreshTokenSignature string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RotateRefreshToken", ctx, requestID, refreshTokenSignature)
	ret0, _ := ret[0].(error)
	return ret0
}

// RotateRefreshToken indicates an expected call of RotateRefreshToken.
func (mr *MockStorageMockRecorder) RotateRefreshToken(ctx, requestID, refreshTokenSignature any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RotateRefreshToken", reflect.TypeOf((*MockStorage)(nil).RotateRefreshToken), ctx, requestID, refreshTokenSignature)
}

// SetClientAssertionJWT mocks base method.
func (m *MockStorage) SetClientAssertionJWT(ctx context.Context, jti string, exp time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetClientAssertionJWT", ctx, jti, exp)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetClientAssertionJWT indicates an expected call of SetClientAssertionJWT.
func (mr *MockStorageMockRecorder) SetClientAssertionJWT(ctx, jti, exp any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetClientAssertionJWT", reflect.TypeOf((*MockStorage)(nil).SetClientAssertionJWT), ctx, jti, exp)
}

// StorePendingAuthorization mocks base method.
func (m *MockStorage) StorePendingAuthorization(ctx context.Context, state string, pending *storage.PendingAuthorization) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StorePendingAuthorization", ctx, state, pending)
	ret0, _ := ret[0].(error)
	return ret0
}

// StorePendingAuthorization indicates an expected call of StorePendingAuthorization.
func (mr *MockStorageMockRecorder) StorePendingAuthorization(ctx, state, pending any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StorePendingAuthorization", reflect.TypeOf((*MockStorage)(nil).StorePendingAuthorization), ctx, state, pending)
}

// StoreUpstreamTokens mocks base method.
func (m *MockStorage) StoreUpstreamTokens(ctx context.Context, sessionID, providerName string, tokens *storage.UpstreamTokens) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StoreUpstreamTokens", ctx, sessionID, providerName, tokens)
	ret0, _ := ret[0].(error)
	return ret0
}

// StoreUpstreamTokens indicates an expected call of StoreUpstreamTokens.
func (mr *MockStorageMockRecorder) StoreUpstreamTokens(ctx, sessionID, providerName, tokens any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoreUpstreamTokens", reflect.TypeOf((*MockStorage)(nil).StoreUpstreamTokens), ctx, sessionID, providerName, tokens)
}

// UpdateProviderIdentityLastUsed mocks base method.
func (m *MockStorage) UpdateProviderIdentityLastUsed(ctx context.Context, providerID, providerSubject string, lastUsedAt time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateProviderIdentityLastUsed", ctx, providerID, providerSubject, lastUsedAt)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateProviderIdentityLastUsed indicates an expected call of UpdateProviderIdentityLastUsed.
func (mr *MockStorageMockRecorder) UpdateProviderIdentityLastUsed(ctx, providerID, providerSubject, lastUsedAt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProviderIdentityLastUsed", reflect.TypeOf((*MockStorage)(nil).UpdateProviderIdentityLastUsed), ctx, providerID, providerSubject, lastUsedAt)
}
