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

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

import (
	context "context"
	reflect "reflect"

	larkcore "github.com/larksuite/oapi-sdk-go/v3/core"
	gomock "go.uber.org/mock/gomock"
)

// MockDrive is a mock of Drive interface.
type MockDrive struct {
	ctrl     *gomock.Controller
	recorder *MockDriveMockRecorder
	isgomock struct{}
}

// MockDriveMockRecorder is the mock recorder for MockDrive.
type MockDriveMockRecorder struct {
	mock *MockDrive
}

// NewMockDrive creates a new mock instance.
func NewMockDrive(ctrl *gomock.Controller) *MockDrive {
	mock := &MockDrive{ctrl: ctrl}
	mock.recorder = &MockDriveMockRecorder{mock}
	return mock
}

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

// AddMember mocks base method.
func (m *MockDrive) AddMember(ctx context.Context, token, typ string, param DrivePermissionMemberAddParam, opts ...larkcore.RequestOptionFunc) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, token, typ, param}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "AddMember", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddMember indicates an expected call of AddMember.
func (mr *MockDriveMockRecorder) AddMember(ctx, token, typ, param any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, token, typ, param}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMember", reflect.TypeOf((*MockDrive)(nil).AddMember), varargs...)
}

// PatchPermission mocks base method.
func (m *MockDrive) PatchPermission(ctx context.Context, token, typ string, param DrivePermissionPatchParam, opts ...larkcore.RequestOptionFunc) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, token, typ, param}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "PatchPermission", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchPermission indicates an expected call of PatchPermission.
func (mr *MockDriveMockRecorder) PatchPermission(ctx, token, typ, param any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, token, typ, param}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPermission", reflect.TypeOf((*MockDrive)(nil).PatchPermission), varargs...)
}
