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

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

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

	gin "github.com/gin-gonic/gin"
	auditlogdto "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/auditlogdto"
	agentconfigreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/agent_config/agentconfigreq"
	agentconfigresp "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/agent_config/agentconfigresp"
	agenttplreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/agent_tpl/agenttplreq"
	agenttplresp "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/agent_tpl/agenttplresp"
	gomock "go.uber.org/mock/gomock"
)

// MockIDataAgentConfigSvc is a mock of IDataAgentConfigSvc interface.
type MockIDataAgentConfigSvc struct {
	ctrl     *gomock.Controller
	recorder *MockIDataAgentConfigSvcMockRecorder
	isgomock struct{}
}

// MockIDataAgentConfigSvcMockRecorder is the mock recorder for MockIDataAgentConfigSvc.
type MockIDataAgentConfigSvcMockRecorder struct {
	mock *MockIDataAgentConfigSvc
}

// NewMockIDataAgentConfigSvc creates a new mock instance.
func NewMockIDataAgentConfigSvc(ctrl *gomock.Controller) *MockIDataAgentConfigSvc {
	mock := &MockIDataAgentConfigSvc{ctrl: ctrl}
	mock.recorder = &MockIDataAgentConfigSvcMockRecorder{mock}
	return mock
}

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

// AIAutogenNotStream mocks base method.
func (m *MockIDataAgentConfigSvc) AIAutogenNotStream(ctx *gin.Context, req *agentconfigreq.AiAutogenReq) (agentconfigresp.PreSetQuestions, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AIAutogenNotStream", ctx, req)
	ret0, _ := ret[0].(agentconfigresp.PreSetQuestions)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// AIAutogenV3 mocks base method.
func (m *MockIDataAgentConfigSvc) AIAutogenV3(ctx *gin.Context, req *agentconfigreq.AiAutogenReq) (chan string, chan error, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AIAutogenV3", ctx, req)
	ret0, _ := ret[0].(chan string)
	ret1, _ := ret[1].(chan error)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// BatchFields mocks base method.
func (m *MockIDataAgentConfigSvc) BatchFields(ctx context.Context, req *agentconfigreq.BatchFieldsReq) (*agentconfigresp.BatchFieldsResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchFields", ctx, req)
	ret0, _ := ret[0].(*agentconfigresp.BatchFieldsResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Copy mocks base method.
func (m *MockIDataAgentConfigSvc) Copy(ctx context.Context, agentID string, req *agentconfigreq.CopyReq) (*agentconfigresp.CopyResp, auditlogdto.AgentCopyAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Copy", ctx, agentID, req)
	ret0, _ := ret[0].(*agentconfigresp.CopyResp)
	ret1, _ := ret[1].(auditlogdto.AgentCopyAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Copy indicates an expected call of Copy.
func (mr *MockIDataAgentConfigSvcMockRecorder) Copy(ctx, agentID, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Copy", reflect.TypeOf((*MockIDataAgentConfigSvc)(nil).Copy), ctx, agentID, req)
}

// Copy2Tpl mocks base method.
func (m *MockIDataAgentConfigSvc) Copy2Tpl(ctx context.Context, agentID string, req *agentconfigreq.Copy2TplReq, tx *sql.Tx) (*agentconfigresp.Copy2TplResp, auditlogdto.AgentCopy2TplAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Copy2Tpl", ctx, agentID, req, tx)
	ret0, _ := ret[0].(*agentconfigresp.Copy2TplResp)
	ret1, _ := ret[1].(auditlogdto.AgentCopy2TplAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Copy2Tpl indicates an expected call of Copy2Tpl.
func (mr *MockIDataAgentConfigSvcMockRecorder) Copy2Tpl(ctx, agentID, req, tx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Copy2Tpl", reflect.TypeOf((*MockIDataAgentConfigSvc)(nil).Copy2Tpl), ctx, agentID, req, tx)
}

// Copy2TplAndPublish mocks base method.
func (m *MockIDataAgentConfigSvc) Copy2TplAndPublish(ctx context.Context, agentID string, req *agenttplreq.PublishReq) (*agenttplresp.PublishUpsertResp, auditlogdto.AgentCopy2TplAndPublishAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Copy2TplAndPublish", ctx, agentID, req)
	ret0, _ := ret[0].(*agenttplresp.PublishUpsertResp)
	ret1, _ := ret[1].(auditlogdto.AgentCopy2TplAndPublishAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Copy2TplAndPublish indicates an expected call of Copy2TplAndPublish.
func (mr *MockIDataAgentConfigSvcMockRecorder) Copy2TplAndPublish(ctx, agentID, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Copy2TplAndPublish", reflect.TypeOf((*MockIDataAgentConfigSvc)(nil).Copy2TplAndPublish), ctx, agentID, req)
}

// Create mocks base method.
func (m *MockIDataAgentConfigSvc) Create(ctx context.Context, req *agentconfigreq.CreateReq) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, req)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Delete mocks base method.
func (m *MockIDataAgentConfigSvc) Delete(ctx context.Context, id, ownerUid string, isPrivate bool) (auditlogdto.AgentDeleteAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, id, ownerUid, isPrivate)
	ret0, _ := ret[0].(auditlogdto.AgentDeleteAuditLogInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Detail mocks base method.
func (m *MockIDataAgentConfigSvc) Detail(ctx context.Context, id, key string) (*agentconfigresp.DetailRes, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Detail", ctx, id, key)
	ret0, _ := ret[0].(*agentconfigresp.DetailRes)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Detail indicates an expected call of Detail.
func (mr *MockIDataAgentConfigSvcMockRecorder) Detail(ctx, id, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Detail", reflect.TypeOf((*MockIDataAgentConfigSvc)(nil).Detail), ctx, id, key)
}

// TmpTest mocks base method.
func (m *MockIDataAgentConfigSvc) TmpTest(ctx context.Context, req *agentconfigreq.TestTmpReq) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TmpTest", ctx, req)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Update mocks base method.
func (m *MockIDataAgentConfigSvc) Update(ctx context.Context, req *agentconfigreq.UpdateReq, id string) (auditlogdto.AgentUpdateAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", ctx, req, id)
	ret0, _ := ret[0].(auditlogdto.AgentUpdateAuditLogInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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