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

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

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

	auditlogdto "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/auditlogdto"
	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"
)

// MockIDataAgentTplSvc is a mock of IDataAgentTplSvc interface.
type MockIDataAgentTplSvc struct {
	ctrl     *gomock.Controller
	recorder *MockIDataAgentTplSvcMockRecorder
	isgomock struct{}
}

// MockIDataAgentTplSvcMockRecorder is the mock recorder for MockIDataAgentTplSvc.
type MockIDataAgentTplSvcMockRecorder struct {
	mock *MockIDataAgentTplSvc
}

// NewMockIDataAgentTplSvc creates a new mock instance.
func NewMockIDataAgentTplSvc(ctrl *gomock.Controller) *MockIDataAgentTplSvc {
	mock := &MockIDataAgentTplSvc{ctrl: ctrl}
	mock.recorder = &MockIDataAgentTplSvcMockRecorder{mock}
	return mock
}

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

// Copy mocks base method.
func (m *MockIDataAgentTplSvc) Copy(ctx context.Context, id int64) (*agenttplresp.CopyResp, auditlogdto.AgentTemplateCopyAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Copy", ctx, id)
	ret0, _ := ret[0].(*agenttplresp.CopyResp)
	ret1, _ := ret[1].(auditlogdto.AgentTemplateCopyAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

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

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

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

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

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

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

// GetPublishInfo mocks base method.
func (m *MockIDataAgentTplSvc) GetPublishInfo(ctx context.Context, id int64) (*agenttplresp.PublishInfoRes, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPublishInfo", ctx, id)
	ret0, _ := ret[0].(*agenttplresp.PublishInfoRes)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Publish mocks base method.
func (m *MockIDataAgentTplSvc) Publish(ctx context.Context, tx *sql.Tx, req *agenttplreq.PublishReq, id int64, isFromCopy2TplAndPublish bool) (*agenttplresp.PublishUpsertResp, auditlogdto.AgentTemplatePublishAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Publish", ctx, tx, req, id, isFromCopy2TplAndPublish)
	ret0, _ := ret[0].(*agenttplresp.PublishUpsertResp)
	ret1, _ := ret[1].(auditlogdto.AgentTemplatePublishAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Publish indicates an expected call of Publish.
func (mr *MockIDataAgentTplSvcMockRecorder) Publish(ctx, tx, req, id, isFromCopy2TplAndPublish any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publish", reflect.TypeOf((*MockIDataAgentTplSvc)(nil).Publish), ctx, tx, req, id, isFromCopy2TplAndPublish)
}

// Unpublish mocks base method.
func (m *MockIDataAgentTplSvc) Unpublish(ctx context.Context, id int64) (auditlogdto.AgentTemplateUnpublishAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unpublish", ctx, id)
	ret0, _ := ret[0].(auditlogdto.AgentTemplateUnpublishAuditLogInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// UpdatePublishInfo mocks base method.
func (m *MockIDataAgentTplSvc) UpdatePublishInfo(ctx context.Context, req *agenttplreq.UpdatePublishInfoReq, id int64) (*agenttplresp.PublishUpsertResp, auditlogdto.AgentTemplateModifyPublishAuditLogInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdatePublishInfo", ctx, req, id)
	ret0, _ := ret[0].(*agenttplresp.PublishUpsertResp)
	ret1, _ := ret[1].(auditlogdto.AgentTemplateModifyPublishAuditLogInfo)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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