// Code generated by MockGen. DO NOT EDIT.
// Source: model_repo.go
//
// Generated by this command:
//
//	mockgen -source=model_repo.go -destination=../../tests/mocks/mock_model_repository.go -package=mocks
//

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

import (
	reflect "reflect"

	domain "nex/backend/internal/domain"

	gomock "go.uber.org/mock/gomock"
)

// MockModelRepository is a mock of ModelRepository interface.
type MockModelRepository struct {
	ctrl     *gomock.Controller
	recorder *MockModelRepositoryMockRecorder
	isgomock struct{}
}

// MockModelRepositoryMockRecorder is the mock recorder for MockModelRepository.
type MockModelRepositoryMockRecorder struct {
	mock *MockModelRepository
}

// NewMockModelRepository creates a new mock instance.
func NewMockModelRepository(ctrl *gomock.Controller) *MockModelRepository {
	mock := &MockModelRepository{ctrl: ctrl}
	mock.recorder = &MockModelRepositoryMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockModelRepository) Create(model *domain.Model) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", model)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Delete mocks base method.
func (m *MockModelRepository) 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 *MockModelRepositoryMockRecorder) Delete(id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockModelRepository)(nil).Delete), id)
}

// FindByProviderAndModelName mocks base method.
func (m *MockModelRepository) FindByProviderAndModelName(providerID, modelName string) (*domain.Model, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FindByProviderAndModelName", providerID, modelName)
	ret0, _ := ret[0].(*domain.Model)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FindByProviderAndModelName indicates an expected call of FindByProviderAndModelName.
func (mr *MockModelRepositoryMockRecorder) FindByProviderAndModelName(providerID, modelName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindByProviderAndModelName", reflect.TypeOf((*MockModelRepository)(nil).FindByProviderAndModelName), providerID, modelName)
}

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

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

// List mocks base method.
func (m *MockModelRepository) List(providerID string) ([]domain.Model, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", providerID)
	ret0, _ := ret[0].([]domain.Model)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListEnabled mocks base method.
func (m *MockModelRepository) ListEnabled() ([]domain.Model, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListEnabled")
	ret0, _ := ret[0].([]domain.Model)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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