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

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

import (
	context "context"
	reflect "reflect"

	agentreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/agent/req"
	gomock "go.uber.org/mock/gomock"
)

// MockIAgent is a mock of IAgent interface.
type MockIAgent struct {
	ctrl     *gomock.Controller
	recorder *MockIAgentMockRecorder
	isgomock struct{}
}

// MockIAgentMockRecorder is the mock recorder for MockIAgent.
type MockIAgentMockRecorder struct {
	mock *MockIAgent
}

// NewMockIAgent creates a new mock instance.
func NewMockIAgent(ctrl *gomock.Controller) *MockIAgent {
	mock := &MockIAgent{ctrl: ctrl}
	mock.recorder = &MockIAgentMockRecorder{mock}
	return mock
}

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

// Chat mocks base method.
func (m *MockIAgent) Chat(ctx context.Context, req *agentreq.ChatReq) (chan []byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Chat", ctx, req)
	ret0, _ := ret[0].(chan []byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetAPIDoc mocks base method.
func (m *MockIAgent) GetAPIDoc(ctx context.Context, req *agentreq.GetAPIDocReq) (any, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAPIDoc", ctx, req)
	ret0, _ := ret[0].(any)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ResumeChat mocks base method.
func (m *MockIAgent) ResumeChat(ctx context.Context, conversationID string) (chan []byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ResumeChat", ctx, conversationID)
	ret0, _ := ret[0].(chan []byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ResumeChat indicates an expected call of ResumeChat.
func (mr *MockIAgentMockRecorder) ResumeChat(ctx, conversationID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResumeChat", reflect.TypeOf((*MockIAgent)(nil).ResumeChat), ctx, conversationID)
}

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

// TerminateChat indicates an expected call of TerminateChat.
func (mr *MockIAgentMockRecorder) TerminateChat(ctx, conversationID, agentRunID, interruptedAssistantMessageID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateChat", reflect.TypeOf((*MockIAgent)(nil).TerminateChat), ctx, conversationID, agentRunID, interruptedAssistantMessageID)
}
