// Code generated by MockGen. DO NOT EDIT.
//
// Generated by this command:
//
//

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

import (
	context "context"
	http "net/http"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockChatSvcAPI is a mock of ChatSvcAPI interface.
type MockChatSvcAPI struct {
	ctrl     *gomock.Controller
	recorder *MockChatSvcAPIMockRecorder
	isgomock struct{}
}

// MockChatSvcAPIMockRecorder is the mock recorder for MockChatSvcAPI.
type MockChatSvcAPIMockRecorder struct {
	mock *MockChatSvcAPI
}

// NewMockChatSvcAPI creates a new mock instance.
func NewMockChatSvcAPI(ctrl *gomock.Controller) *MockChatSvcAPI {
	mock := &MockChatSvcAPI{ctrl: ctrl}
	mock.recorder = &MockChatSvcAPIMockRecorder{mock}
	return mock
}

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

// DeleteMessage mocks base method.
func (m *MockChatSvcAPI) DeleteMessage(ctx context.Context, messageId string) ApiDeleteMessageRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteMessage", ctx, messageId)
	ret0, _ := ret[0].(ApiDeleteMessageRequest)
	return ret0
}

// DeleteMessage indicates an expected call of DeleteMessage.
func (mr *MockChatSvcAPIMockRecorder) DeleteMessage(ctx, messageId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMessage", reflect.TypeOf((*MockChatSvcAPI)(nil).DeleteMessage), ctx, messageId)
}

// DeleteMessageExecute mocks base method.
func (m *MockChatSvcAPI) DeleteMessageExecute(r ApiDeleteMessageRequest) (map[string]any, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteMessageExecute", r)
	ret0, _ := ret[0].(map[string]any)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// DeleteMessageExecute indicates an expected call of DeleteMessageExecute.
func (mr *MockChatSvcAPIMockRecorder) DeleteMessageExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMessageExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).DeleteMessageExecute), r)
}

// DeleteThread mocks base method.
func (m *MockChatSvcAPI) DeleteThread(ctx context.Context, threadId string) ApiDeleteThreadRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteThread", ctx, threadId)
	ret0, _ := ret[0].(ApiDeleteThreadRequest)
	return ret0
}

// DeleteThread indicates an expected call of DeleteThread.
func (mr *MockChatSvcAPIMockRecorder) DeleteThread(ctx, threadId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteThread", reflect.TypeOf((*MockChatSvcAPI)(nil).DeleteThread), ctx, threadId)
}

// DeleteThreadExecute mocks base method.
func (m *MockChatSvcAPI) DeleteThreadExecute(r ApiDeleteThreadRequest) (map[string]any, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteThreadExecute", r)
	ret0, _ := ret[0].(map[string]any)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// DeleteThreadExecute indicates an expected call of DeleteThreadExecute.
func (mr *MockChatSvcAPIMockRecorder) DeleteThreadExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteThreadExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).DeleteThreadExecute), r)
}

// Events mocks base method.
func (m *MockChatSvcAPI) Events(ctx context.Context) ApiEventsRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Events", ctx)
	ret0, _ := ret[0].(ApiEventsRequest)
	return ret0
}

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

// EventsExecute mocks base method.
func (m *MockChatSvcAPI) EventsExecute(r ApiEventsRequest) (*ChatSvcEventThreadUpdate, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "EventsExecute", r)
	ret0, _ := ret[0].(*ChatSvcEventThreadUpdate)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// EventsExecute indicates an expected call of EventsExecute.
func (mr *MockChatSvcAPIMockRecorder) EventsExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EventsExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).EventsExecute), r)
}

// ListMessages mocks base method.
func (m *MockChatSvcAPI) ListMessages(ctx context.Context) ApiListMessagesRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListMessages", ctx)
	ret0, _ := ret[0].(ApiListMessagesRequest)
	return ret0
}

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

// ListMessagesExecute mocks base method.
func (m *MockChatSvcAPI) ListMessagesExecute(r ApiListMessagesRequest) (*ChatSvcListMessagesResponse, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListMessagesExecute", r)
	ret0, _ := ret[0].(*ChatSvcListMessagesResponse)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListMessagesExecute indicates an expected call of ListMessagesExecute.
func (mr *MockChatSvcAPIMockRecorder) ListMessagesExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMessagesExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).ListMessagesExecute), r)
}

// ListThreads mocks base method.
func (m *MockChatSvcAPI) ListThreads(ctx context.Context) ApiListThreadsRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListThreads", ctx)
	ret0, _ := ret[0].(ApiListThreadsRequest)
	return ret0
}

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

// ListThreadsExecute mocks base method.
func (m *MockChatSvcAPI) ListThreadsExecute(r ApiListThreadsRequest) (*ChatSvcListThreadsResponse, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListThreadsExecute", r)
	ret0, _ := ret[0].(*ChatSvcListThreadsResponse)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListThreadsExecute indicates an expected call of ListThreadsExecute.
func (mr *MockChatSvcAPIMockRecorder) ListThreadsExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListThreadsExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).ListThreadsExecute), r)
}

// SaveMessage mocks base method.
func (m *MockChatSvcAPI) SaveMessage(ctx context.Context, threadId string) ApiSaveMessageRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveMessage", ctx, threadId)
	ret0, _ := ret[0].(ApiSaveMessageRequest)
	return ret0
}

// SaveMessage indicates an expected call of SaveMessage.
func (mr *MockChatSvcAPIMockRecorder) SaveMessage(ctx, threadId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveMessage", reflect.TypeOf((*MockChatSvcAPI)(nil).SaveMessage), ctx, threadId)
}

// SaveMessageExecute mocks base method.
func (m *MockChatSvcAPI) SaveMessageExecute(r ApiSaveMessageRequest) (map[string]any, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveMessageExecute", r)
	ret0, _ := ret[0].(map[string]any)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SaveMessageExecute indicates an expected call of SaveMessageExecute.
func (mr *MockChatSvcAPIMockRecorder) SaveMessageExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveMessageExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).SaveMessageExecute), r)
}

// SaveThread mocks base method.
func (m *MockChatSvcAPI) SaveThread(ctx context.Context) ApiSaveThreadRequest {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveThread", ctx)
	ret0, _ := ret[0].(ApiSaveThreadRequest)
	return ret0
}

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

// SaveThreadExecute mocks base method.
func (m *MockChatSvcAPI) SaveThreadExecute(r ApiSaveThreadRequest) (*ChatSvcSaveThreadResponse, *http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveThreadExecute", r)
	ret0, _ := ret[0].(*ChatSvcSaveThreadResponse)
	ret1, _ := ret[1].(*http.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SaveThreadExecute indicates an expected call of SaveThreadExecute.
func (mr *MockChatSvcAPIMockRecorder) SaveThreadExecute(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveThreadExecute", reflect.TypeOf((*MockChatSvcAPI)(nil).SaveThreadExecute), r)
}
