/*
 * Copyright 2025 coze-dev Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Code generated by MockGen. DO NOT EDIT.
// Source: message.go
//
// Generated by this command:
//
//	mockgen -destination messagemock/message_mock.go --package messagemock -source message.go
//

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

import (
	context "context"
	reflect "reflect"

	message "github.com/coze-dev/coze-studio/backend/crossdomain/message/model"
	message0 "github.com/coze-dev/coze-studio/backend/crossdomain/message"
	entity "github.com/coze-dev/coze-studio/backend/domain/conversation/message/entity"
	gomock "go.uber.org/mock/gomock"
)

// MockMessage is a mock of Message interface.
type MockMessage struct {
	ctrl     *gomock.Controller
	recorder *MockMessageMockRecorder
	isgomock struct{}
}

// MockMessageMockRecorder is the mock recorder for MockMessage.
type MockMessageMockRecorder struct {
	mock *MockMessage
}

// NewMockMessage creates a new mock instance.
func NewMockMessage(ctrl *gomock.Controller) *MockMessage {
	mock := &MockMessage{ctrl: ctrl}
	mock.recorder = &MockMessageMockRecorder{mock}
	return mock
}

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

// BatchCreate mocks base method.
func (m *MockMessage) BatchCreate(ctx context.Context, msg []*message.Message) ([]*message.Message, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchCreate", ctx, msg)
	ret0, _ := ret[0].([]*message.Message)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Create mocks base method.
func (m *MockMessage) Create(ctx context.Context, msg *message.Message) (*message.Message, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, msg)
	ret0, _ := ret[0].(*message.Message)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// Edit mocks base method.
func (m *MockMessage) Edit(ctx context.Context, msg *message.Message) (*message.Message, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Edit", ctx, msg)
	ret0, _ := ret[0].(*message.Message)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetByRunIDs mocks base method.
func (m *MockMessage) GetByRunIDs(ctx context.Context, conversationID int64, runIDs []int64) ([]*message.Message, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByRunIDs", ctx, conversationID, runIDs)
	ret0, _ := ret[0].([]*message.Message)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetLatestRunIDs mocks base method.
func (m *MockMessage) GetLatestRunIDs(ctx context.Context, req *message0.GetLatestRunIDsRequest) ([]int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLatestRunIDs", ctx, req)
	ret0, _ := ret[0].([]int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// GetMessagesByRunIDs mocks base method.
func (m *MockMessage) GetMessagesByRunIDs(ctx context.Context, req *message0.GetMessagesByRunIDsRequest) (*message0.GetMessagesByRunIDsResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetMessagesByRunIDs", ctx, req)
	ret0, _ := ret[0].(*message0.GetMessagesByRunIDsResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// List mocks base method.
func (m *MockMessage) List(ctx context.Context, meta *entity.ListMeta) (*entity.ListResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, meta)
	ret0, _ := ret[0].(*entity.ListResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListWithoutPair mocks base method.
func (m *MockMessage) ListWithoutPair(ctx context.Context, req *entity.ListMeta) (*entity.ListResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListWithoutPair", ctx, req)
	ret0, _ := ret[0].(*entity.ListResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// MessageList mocks base method.
func (m *MockMessage) MessageList(ctx context.Context, req *message0.MessageListRequest) (*message0.MessageListResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MessageList", ctx, req)
	ret0, _ := ret[0].(*message0.MessageListResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PreCreate mocks base method.
func (m *MockMessage) PreCreate(ctx context.Context, msg *message.Message) (*message.Message, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PreCreate", ctx, msg)
	ret0, _ := ret[0].(*message.Message)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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