// Code generated by MockGen. DO NOT EDIT.
// Source: dedicated_inference.go
//
// Generated by this command:
//
//	mockgen -source dedicated_inference.go -package=mocks DedicatedInferenceService
//

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

import (
	reflect "reflect"

	do "github.com/digitalocean/doctl/do"
	godo "github.com/digitalocean/godo"
	gomock "go.uber.org/mock/gomock"
)

// MockDedicatedInferenceService is a mock of DedicatedInferenceService interface.
type MockDedicatedInferenceService struct {
	ctrl     *gomock.Controller
	recorder *MockDedicatedInferenceServiceMockRecorder
	isgomock struct{}
}

// MockDedicatedInferenceServiceMockRecorder is the mock recorder for MockDedicatedInferenceService.
type MockDedicatedInferenceServiceMockRecorder struct {
	mock *MockDedicatedInferenceService
}

// NewMockDedicatedInferenceService creates a new mock instance.
func NewMockDedicatedInferenceService(ctrl *gomock.Controller) *MockDedicatedInferenceService {
	mock := &MockDedicatedInferenceService{ctrl: ctrl}
	mock.recorder = &MockDedicatedInferenceServiceMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockDedicatedInferenceService) Create(req *godo.DedicatedInferenceCreateRequest) (*do.DedicatedInference, *do.DedicatedInferenceToken, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", req)
	ret0, _ := ret[0].(*do.DedicatedInference)
	ret1, _ := ret[1].(*do.DedicatedInferenceToken)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

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

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

// ListAccelerators mocks base method.
func (m *MockDedicatedInferenceService) ListAccelerators(diID string, slug string) (do.DedicatedInferenceAcceleratorInfos, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListAccelerators", diID, slug)
	ret0, _ := ret[0].(do.DedicatedInferenceAcceleratorInfos)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListAccelerators indicates an expected call of ListAccelerators.
func (mr *MockDedicatedInferenceServiceMockRecorder) ListAccelerators(diID any, slug any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccelerators", reflect.TypeOf((*MockDedicatedInferenceService)(nil).ListAccelerators), diID, slug)
}

// List mocks base method.
func (m *MockDedicatedInferenceService) List(region string, name string) (do.DedicatedInferenceListItems, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", region, name)
	ret0, _ := ret[0].(do.DedicatedInferenceListItems)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockDedicatedInferenceServiceMockRecorder) List(region any, name any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDedicatedInferenceService)(nil).List), region, name)
}

// Update mocks base method.
func (m *MockDedicatedInferenceService) Update(id string, req *godo.DedicatedInferenceUpdateRequest) (*do.DedicatedInference, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", id, req)
	ret0, _ := ret[0].(*do.DedicatedInference)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Update indicates an expected call of Update.
func (mr *MockDedicatedInferenceServiceMockRecorder) Update(id any, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockDedicatedInferenceService)(nil).Update), id, req)
}

// CreateToken mocks base method.
func (m *MockDedicatedInferenceService) CreateToken(diID string, req *godo.DedicatedInferenceTokenCreateRequest) (*do.DedicatedInferenceToken, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateToken", diID, req)
	ret0, _ := ret[0].(*do.DedicatedInferenceToken)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateToken indicates an expected call of CreateToken.
func (mr *MockDedicatedInferenceServiceMockRecorder) CreateToken(diID any, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateToken", reflect.TypeOf((*MockDedicatedInferenceService)(nil).CreateToken), diID, req)
}

// ListTokens mocks base method.
func (m *MockDedicatedInferenceService) ListTokens(diID string) (do.DedicatedInferenceTokens, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListTokens", diID)
	ret0, _ := ret[0].(do.DedicatedInferenceTokens)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListTokens indicates an expected call of ListTokens.
func (mr *MockDedicatedInferenceServiceMockRecorder) ListTokens(diID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTokens", reflect.TypeOf((*MockDedicatedInferenceService)(nil).ListTokens), diID)
}

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

// RevokeToken indicates an expected call of RevokeToken.
func (mr *MockDedicatedInferenceServiceMockRecorder) RevokeToken(diID any, tokenID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeToken", reflect.TypeOf((*MockDedicatedInferenceService)(nil).RevokeToken), diID, tokenID)
}

// GetSizes mocks base method.
func (m *MockDedicatedInferenceService) GetSizes() ([]string, do.DedicatedInferenceSizes, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSizes")
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(do.DedicatedInferenceSizes)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// GetGPUModelConfig mocks base method.
func (m *MockDedicatedInferenceService) GetGPUModelConfig() (do.DedicatedInferenceGPUModelConfigs, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetGPUModelConfig")
	ret0, _ := ret[0].(do.DedicatedInferenceGPUModelConfigs)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Get mocks base method.
func (m *MockDedicatedInferenceService) Get(id string) (*do.DedicatedInference, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", id)
	ret0, _ := ret[0].(*do.DedicatedInference)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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