// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/contact (interfaces: Contact)
//
// Generated by this command:
//
//	mockgen -destination contact_mock.go -package=contact github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/contact Contact
//

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

import (
	context "context"
	reflect "reflect"

	larkcontact "github.com/larksuite/oapi-sdk-go/v3/service/contact/v3"
	gomock "go.uber.org/mock/gomock"
)

// MockContact is a mock of Contact interface.
type MockContact struct {
	ctrl     *gomock.Controller
	recorder *MockContactMockRecorder
	isgomock struct{}
}

// MockContactMockRecorder is the mock recorder for MockContact.
type MockContactMockRecorder struct {
	mock *MockContact
}

// NewMockContact creates a new mock instance.
func NewMockContact(ctrl *gomock.Controller) *MockContact {
	mock := &MockContact{ctrl: ctrl}
	mock.recorder = &MockContactMockRecorder{mock}
	return mock
}

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

// BatchGetUserOpenIDs mocks base method.
func (m *MockContact) BatchGetUserOpenIDs(ctx context.Context, emails []string) ([]*larkcontact.UserContactInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchGetUserOpenIDs", ctx, emails)
	ret0, _ := ret[0].([]*larkcontact.UserContactInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// BetchGetUserIds mocks base method.
func (m *MockContact) BetchGetUserIds(ctx context.Context, emails []string) ([]*larkcontact.UserContactInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BetchGetUserIds", ctx, emails)
	ret0, _ := ret[0].([]*larkcontact.UserContactInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetDepartment mocks base method.
func (m *MockContact) GetDepartment(ctx context.Context, departmentId string) (*larkcontact.Department, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDepartment", ctx, departmentId)
	ret0, _ := ret[0].(*larkcontact.Department)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetDepartmentChildren mocks base method.
func (m *MockContact) GetDepartmentChildren(ctx context.Context, departmentID string) ([]*larkcontact.Department, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDepartmentChildren", ctx, departmentID)
	ret0, _ := ret[0].([]*larkcontact.Department)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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