// Code generated by MockGen. DO NOT EDIT.
// Source: account.go
//
// Generated by this command:
//
//	mockgen -source=account.go -package=mock_account -destination=./mock_account/mock_account.go
//

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

import (
	context "context"
	reflect "reflect"

	account "github.com/tidbcloud/account/idl/pbgen/proto/account"
	commonv1beta1 "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/common/v1beta1"
	bizerr "github.com/tidbcloud/tidb-management-service/utilities/bizerr"
	gomock "go.uber.org/mock/gomock"
)

// MockClient is a mock of Client interface.
type MockClient struct {
	ctrl     *gomock.Controller
	recorder *MockClientMockRecorder
	isgomock struct{}
}

// MockClientMockRecorder is the mock recorder for MockClient.
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance.
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

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

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

// AddClusterRelations indicates an expected call of AddClusterRelations.
func (mr *MockClientMockRecorder) AddClusterRelations(ctx, orgId, clusterId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterRelations", reflect.TypeOf((*MockClient)(nil).AddClusterRelations), ctx, orgId, clusterId)
}

// CheckBackupMutationPermission mocks base method.
func (m *MockClient) CheckBackupMutationPermission(ctx context.Context, orgId, projectId, clusterId uint64, userId string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckBackupMutationPermission", ctx, orgId, projectId, clusterId, userId)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckBackupMutationPermission indicates an expected call of CheckBackupMutationPermission.
func (mr *MockClientMockRecorder) CheckBackupMutationPermission(ctx, orgId, projectId, clusterId, userId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckBackupMutationPermission", reflect.TypeOf((*MockClient)(nil).CheckBackupMutationPermission), ctx, orgId, projectId, clusterId, userId)
}

// CheckOperatorHasClusterRole mocks base method.
func (m *MockClient) CheckOperatorHasClusterRole(ctx context.Context, orgId uint64, clusterIds []uint64) (map[uint64]bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckOperatorHasClusterRole", ctx, orgId, clusterIds)
	ret0, _ := ret[0].(map[uint64]bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckOperatorHasClusterRole indicates an expected call of CheckOperatorHasClusterRole.
func (mr *MockClientMockRecorder) CheckOperatorHasClusterRole(ctx, orgId, clusterIds any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckOperatorHasClusterRole", reflect.TypeOf((*MockClient)(nil).CheckOperatorHasClusterRole), ctx, orgId, clusterIds)
}

// ClearEmailUniqueID mocks base method.
func (m *MockClient) ClearEmailUniqueID(ctx context.Context, req *account.ClearEmailUniqueIDReq) (*account.ClearEmailUniqueIDResp, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClearEmailUniqueID", ctx, req)
	ret0, _ := ret[0].(*account.ClearEmailUniqueIDResp)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// CopyXProject mocks base method.
func (m *MockClient) CopyXProject(ctx context.Context, orgID uint64, name string, sourceProjectId uint64) (uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CopyXProject", ctx, orgID, name, sourceProjectId)
	ret0, _ := ret[0].(uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CopyXProject indicates an expected call of CopyXProject.
func (mr *MockClientMockRecorder) CopyXProject(ctx, orgID, name, sourceProjectId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CopyXProject", reflect.TypeOf((*MockClient)(nil).CopyXProject), ctx, orgID, name, sourceProjectId)
}

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

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

// GetInstancePermissionScopeOfUser mocks base method.
func (m *MockClient) GetInstancePermissionScopeOfUser(ctx context.Context, orgId uint64, userId string) (bool, []uint64, []uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetInstancePermissionScopeOfUser", ctx, orgId, userId)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].([]uint64)
	ret2, _ := ret[2].([]uint64)
	ret3, _ := ret[3].(error)
	return ret0, ret1, ret2, ret3
}

// GetInstancePermissionScopeOfUser indicates an expected call of GetInstancePermissionScopeOfUser.
func (mr *MockClientMockRecorder) GetInstancePermissionScopeOfUser(ctx, orgId, userId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInstancePermissionScopeOfUser", reflect.TypeOf((*MockClient)(nil).GetInstancePermissionScopeOfUser), ctx, orgId, userId)
}

// GetOpenAPIAccess mocks base method.
func (m *MockClient) GetOpenAPIAccess(ctx context.Context, publicKey string) (*account.GetOpenAPIAccessResp, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOpenAPIAccess", ctx, publicKey)
	ret0, _ := ret[0].(*account.GetOpenAPIAccessResp)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// GetOrCreateSystemUser mocks base method.
func (m *MockClient) GetOrCreateSystemUser(ctx context.Context, orgID uint64) (*account.User, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOrCreateSystemUser", ctx, orgID)
	ret0, _ := ret[0].(*account.User)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// GetOrgByID mocks base method.
func (m *MockClient) GetOrgByID(ctx context.Context, orgId uint64) (*account.Org, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOrgByID", ctx, orgId)
	ret0, _ := ret[0].(*account.Org)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetProject mocks base method.
func (m *MockClient) GetProject(ctx context.Context, projectId uint64) (*account.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProject", ctx, projectId)
	ret0, _ := ret[0].(*account.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetTenantThirdPartyAccountProviders mocks base method.
func (m *MockClient) GetTenantThirdPartyAccountProviders(ctx context.Context, id uint64) ([]commonv1beta1.Region_CloudProvider, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTenantThirdPartyAccountProviders", ctx, id)
	ret0, _ := ret[0].([]commonv1beta1.Region_CloudProvider)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetTidbxVirtualProjectId mocks base method.
func (m *MockClient) GetTidbxVirtualProjectId(ctx context.Context, orgId uint64) (uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTidbxVirtualProjectId", ctx, orgId)
	ret0, _ := ret[0].(uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetTimeZoneByProjectID mocks base method.
func (m *MockClient) GetTimeZoneByProjectID(ctx context.Context, projectId uint64) (int32, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTimeZoneByProjectID", ctx, projectId)
	ret0, _ := ret[0].(int32)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// GetUserById mocks base method.
func (m *MockClient) GetUserById(ctx context.Context, userId uint64) (*account.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserById", ctx, userId)
	ret0, _ := ret[0].(*account.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// IsHitFeatureFlag mocks base method.
func (m *MockClient) IsHitFeatureFlag(ctx context.Context, req *account.HitFeatureFlagReq) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsHitFeatureFlag", ctx, req)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// IsUserInOrg mocks base method.
func (m *MockClient) IsUserInOrg(ctx context.Context, email string, orgId uint64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsUserInOrg", ctx, email, orgId)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IsUserInOrg indicates an expected call of IsUserInOrg.
func (mr *MockClientMockRecorder) IsUserInOrg(ctx, email, orgId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsUserInOrg", reflect.TypeOf((*MockClient)(nil).IsUserInOrg), ctx, email, orgId)
}

// ListHitFeatureFlagNames mocks base method.
func (m *MockClient) ListHitFeatureFlagNames(ctx context.Context, req *account.ListHitFeatureFlagNamesReq) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListHitFeatureFlagNames", ctx, req)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListOrgOwnerUsers mocks base method.
func (m *MockClient) ListOrgOwnerUsers(ctx context.Context, orgId uint64) ([]*account.User, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListOrgOwnerUsers", ctx, orgId)
	ret0, _ := ret[0].([]*account.User)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// ListProjectOwnerUsers mocks base method.
func (m *MockClient) ListProjectOwnerUsers(ctx context.Context, projectId uint64) ([]*account.User, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListProjectOwnerUsers", ctx, projectId)
	ret0, _ := ret[0].([]*account.User)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// SendEmail mocks base method.
func (m *MockClient) SendEmail(ctx context.Context, req *account.SendEmailReq) (*account.SendEmailResp, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SendEmail", ctx, req)
	ret0, _ := ret[0].(*account.SendEmailResp)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

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

// UpsertClusterRelations mocks base method.
func (m *MockClient) UpsertClusterRelations(ctx context.Context, clusterId, targetOrgId, targetProjectId uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpsertClusterRelations", ctx, clusterId, targetOrgId, targetProjectId)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpsertClusterRelations indicates an expected call of UpsertClusterRelations.
func (mr *MockClientMockRecorder) UpsertClusterRelations(ctx, clusterId, targetOrgId, targetProjectId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertClusterRelations", reflect.TypeOf((*MockClient)(nil).UpsertClusterRelations), ctx, clusterId, targetOrgId, targetProjectId)
}
