// Code generated by MockGen. DO NOT EDIT.
// Source: deps_test.go

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

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

	model "github.com/authgear/authgear-server/pkg/api/model"
	authenticator "github.com/authgear/authgear-server/pkg/lib/authn/authenticator"
	identity "github.com/authgear/authgear-server/pkg/lib/authn/identity"
	user "github.com/authgear/authgear-server/pkg/lib/authn/user"
	accesscontrol "github.com/authgear/authgear-server/pkg/util/accesscontrol"
	gomock "github.com/golang/mock/gomock"
)

// MockUserService is a mock of UserService interface.
type MockUserService struct {
	ctrl     *gomock.Controller
	recorder *MockUserServiceMockRecorder
}

// MockUserServiceMockRecorder is the mock recorder for MockUserService.
type MockUserServiceMockRecorder struct {
	mock *MockUserService
}

// NewMockUserService creates a new mock instance.
func NewMockUserService(ctrl *gomock.Controller) *MockUserService {
	mock := &MockUserService{ctrl: ctrl}
	mock.recorder = &MockUserServiceMockRecorder{mock}
	return mock
}

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

// AfterCreate mocks base method.
func (m *MockUserService) AfterCreate(ctx context.Context, user *user.User, identities []*identity.Info, authenticators []*authenticator.Info, isAdminAPI bool) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AfterCreate", ctx, user, identities, authenticators, isAdminAPI)
	ret0, _ := ret[0].(error)
	return ret0
}

// AfterCreate indicates an expected call of AfterCreate.
func (mr *MockUserServiceMockRecorder) AfterCreate(ctx, user, identities, authenticators, isAdminAPI interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterCreate", reflect.TypeOf((*MockUserService)(nil).AfterCreate), ctx, user, identities, authenticators, isAdminAPI)
}

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

// Create indicates an expected call of Create.
func (mr *MockUserServiceMockRecorder) Create(ctx, userID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockUserService)(nil).Create), ctx, userID)
}

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

// Get indicates an expected call of Get.
func (mr *MockUserServiceMockRecorder) Get(ctx, id, role interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockUserService)(nil).Get), ctx, id, role)
}

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

// GetRaw indicates an expected call of GetRaw.
func (mr *MockUserServiceMockRecorder) GetRaw(ctx, id interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRaw", reflect.TypeOf((*MockUserService)(nil).GetRaw), ctx, id)
}

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

// UpdateLoginTime indicates an expected call of UpdateLoginTime.
func (mr *MockUserServiceMockRecorder) UpdateLoginTime(ctx, userID, t interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoginTime", reflect.TypeOf((*MockUserService)(nil).UpdateLoginTime), ctx, userID, t)
}

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

// UpdateMFAEnrollment indicates an expected call of UpdateMFAEnrollment.
func (mr *MockUserServiceMockRecorder) UpdateMFAEnrollment(ctx, userID, t interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMFAEnrollment", reflect.TypeOf((*MockUserService)(nil).UpdateMFAEnrollment), ctx, userID, t)
}

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

// UpdateOptOutPasskeyUpselling indicates an expected call of UpdateOptOutPasskeyUpselling.
func (mr *MockUserServiceMockRecorder) UpdateOptOutPasskeyUpselling(ctx, userID, optout interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOptOutPasskeyUpselling", reflect.TypeOf((*MockUserService)(nil).UpdateOptOutPasskeyUpselling), ctx, userID, optout)
}
