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

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

import (
	context "context"
	reflect "reflect"

	comvalobj "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/domain/valueobject/comvalobj"
	"github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/domain/valueobject/daconfvalobj"
	conversationreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/conversation/conversationreq"
	conversationresp "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/conversation/conversationresp"
	gomock "go.uber.org/mock/gomock"
)

// MockIConversationSvc is a mock of IConversationSvc interface.
type MockIConversationSvc struct {
	ctrl     *gomock.Controller
	recorder *MockIConversationSvcMockRecorder
	isgomock struct{}
}

// MockIConversationSvcMockRecorder is the mock recorder for MockIConversationSvc.
type MockIConversationSvcMockRecorder struct {
	mock *MockIConversationSvc
}

// NewMockIConversationSvc creates a new mock instance.
func NewMockIConversationSvc(ctrl *gomock.Controller) *MockIConversationSvc {
	mock := &MockIConversationSvc{ctrl: ctrl}
	mock.recorder = &MockIConversationSvcMockRecorder{mock}
	return mock
}

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

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

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

// DeleteByAppKey mocks base method.
func (m *MockIConversationSvc) DeleteByAppKey(ctx context.Context, appKey string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByAppKey", ctx, appKey)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByAppKey indicates an expected call of DeleteByAppKey.
func (mr *MockIConversationSvcMockRecorder) DeleteByAppKey(ctx, appKey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByAppKey", reflect.TypeOf((*MockIConversationSvc)(nil).DeleteByAppKey), ctx, appKey)
}

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

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

// GetHistory mocks base method.
func (m *MockIConversationSvc) GetHistory(ctx context.Context, id string, limit int, regenerateUserMsgID, regenerateAssistantMsgID string) ([]*comvalobj.LLMMessage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetHistory", ctx, id, limit, regenerateUserMsgID, regenerateAssistantMsgID)
	ret0, _ := ret[0].([]*comvalobj.LLMMessage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetHistory indicates an expected call of GetHistory.
func (mr *MockIConversationSvcMockRecorder) GetHistory(ctx, id, limit, regenerateUserMsgID, regenerateAssistantMsgID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHistory", reflect.TypeOf((*MockIConversationSvc)(nil).GetHistory), ctx, id, limit, regenerateUserMsgID, regenerateAssistantMsgID)
}

// GetHistoryV2 mocks base method.
func (m *MockIConversationSvc) GetHistoryV2(ctx context.Context, id string, historyConfig *daconfvalobj.ConversationHistoryConfig, regenerateUserMsgID, regenerateAssistantMsgID string) ([]*comvalobj.LLMMessage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetHistoryV2", ctx, id, historyConfig, regenerateUserMsgID, regenerateAssistantMsgID)
	ret0, _ := ret[0].([]*comvalobj.LLMMessage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetHistoryV2 indicates an expected call of GetHistoryV2.
func (mr *MockIConversationSvcMockRecorder) GetHistoryV2(ctx, id, historyConfig, regenerateUserMsgID, regenerateAssistantMsgID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHistoryV2", reflect.TypeOf((*MockIConversationSvc)(nil).GetHistoryV2), ctx, id, historyConfig, regenerateUserMsgID, regenerateAssistantMsgID)
}

// Init mocks base method.
func (m *MockIConversationSvc) Init(ctx context.Context, req conversationreq.InitReq) (conversationresp.InitConversationResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Init", ctx, req)
	ret0, _ := ret[0].(conversationresp.InitConversationResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// List mocks base method.
func (m *MockIConversationSvc) List(ctx context.Context, req conversationreq.ListReq) (conversationresp.ListConversationResp, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, req)
	ret0, _ := ret[0].(conversationresp.ListConversationResp)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// ListByAgentID mocks base method.
func (m *MockIConversationSvc) ListByAgentID(ctx context.Context, agentID, title string, page, size int, startTime, endTime int64) ([]conversationresp.ConversationDetail, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListByAgentID", ctx, agentID, title, page, size, startTime, endTime)
	ret0, _ := ret[0].([]conversationresp.ConversationDetail)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListByAgentID indicates an expected call of ListByAgentID.
func (mr *MockIConversationSvcMockRecorder) ListByAgentID(ctx, agentID, title, page, size, startTime, endTime any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListByAgentID", reflect.TypeOf((*MockIConversationSvc)(nil).ListByAgentID), ctx, agentID, title, page, size, startTime, endTime)
}

// MarkRead mocks base method.
func (m *MockIConversationSvc) MarkRead(ctx context.Context, id string, latest_read_index int) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MarkRead", ctx, id, latest_read_index)
	ret0, _ := ret[0].(error)
	return ret0
}

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

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

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