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

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

import (
	context "context"
	sql "database/sql"
	reflect "reflect"

	model "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/interfaces/model"
	gomock "go.uber.org/mock/gomock"
)

// MockIInternalComponentConfigDB is a mock of IInternalComponentConfigDB interface.
type MockIInternalComponentConfigDB struct {
	ctrl     *gomock.Controller
	recorder *MockIInternalComponentConfigDBMockRecorder
	isgomock struct{}
}

// MockIInternalComponentConfigDBMockRecorder is the mock recorder for MockIInternalComponentConfigDB.
type MockIInternalComponentConfigDBMockRecorder struct {
	mock *MockIInternalComponentConfigDB
}

// NewMockIInternalComponentConfigDB creates a new mock instance.
func NewMockIInternalComponentConfigDB(ctrl *gomock.Controller) *MockIInternalComponentConfigDB {
	mock := &MockIInternalComponentConfigDB{ctrl: ctrl}
	mock.recorder = &MockIInternalComponentConfigDBMockRecorder{mock}
	return mock
}

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

// DeleteConfig mocks base method.
func (m *MockIInternalComponentConfigDB) DeleteConfig(ctx context.Context, tx *sql.Tx, configType, configID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteConfig", ctx, tx, configType, configID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteConfig indicates an expected call of DeleteConfig.
func (mr *MockIInternalComponentConfigDBMockRecorder) DeleteConfig(ctx, tx, configType, configID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConfig", reflect.TypeOf((*MockIInternalComponentConfigDB)(nil).DeleteConfig), ctx, tx, configType, configID)
}

// InsertConfig mocks base method.
func (m *MockIInternalComponentConfigDB) InsertConfig(ctx context.Context, tx *sql.Tx, config *model.InternalComponentConfigDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InsertConfig", ctx, tx, config)
	ret0, _ := ret[0].(error)
	return ret0
}

// InsertConfig indicates an expected call of InsertConfig.
func (mr *MockIInternalComponentConfigDBMockRecorder) InsertConfig(ctx, tx, config any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertConfig", reflect.TypeOf((*MockIInternalComponentConfigDB)(nil).InsertConfig), ctx, tx, config)
}

// SelectConfig mocks base method.
func (m *MockIInternalComponentConfigDB) SelectConfig(ctx context.Context, configType, configID string) (bool, *model.InternalComponentConfigDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectConfig", ctx, configType, configID)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*model.InternalComponentConfigDB)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SelectConfig indicates an expected call of SelectConfig.
func (mr *MockIInternalComponentConfigDBMockRecorder) SelectConfig(ctx, configType, configID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectConfig", reflect.TypeOf((*MockIInternalComponentConfigDB)(nil).SelectConfig), ctx, configType, configID)
}

// UpdateConfig mocks base method.
func (m *MockIInternalComponentConfigDB) UpdateConfig(ctx context.Context, tx *sql.Tx, config *model.InternalComponentConfigDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateConfig", ctx, tx, config)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateConfig indicates an expected call of UpdateConfig.
func (mr *MockIInternalComponentConfigDBMockRecorder) UpdateConfig(ctx, tx, config any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConfig", reflect.TypeOf((*MockIInternalComponentConfigDB)(nil).UpdateConfig), ctx, tx, config)
}
