import type { HeatmapsProps } from '@lobehub/charts'; import { ChatMessage, ChatMessageError, ChatMessagePluginError, ChatTTS, ChatTranslate, CreateMessageParams, MessageItem, ModelRankItem, UpdateMessageParams, } from '@/types/message'; /* eslint-disable typescript-sort-keys/interface */ export interface IMessageService { createMessage(data: CreateMessageParams): Promise; batchCreateMessages(messages: MessageItem[]): Promise; getMessages(sessionId: string, topicId?: string): Promise; getAllMessages(): Promise; getAllMessagesInSession(sessionId: string): Promise; countMessages(params?: { endDate?: string; range?: [string, string]; startDate?: string; }): Promise; countWords(params?: { endDate?: string; range?: [string, string]; startDate?: string; }): Promise; rankModels(): Promise; getHeatmaps(): Promise; updateMessageError(id: string, error: ChatMessageError): Promise; updateMessage(id: string, message: Partial): Promise; updateMessageTTS(id: string, tts: Partial | false): Promise; updateMessageTranslate(id: string, translate: Partial | false): Promise; updateMessagePluginState(id: string, value: Record): Promise; updateMessagePluginError(id: string, value: ChatMessagePluginError | null): Promise; updateMessagePluginArguments(id: string, value: string | Record): Promise; removeMessage(id: string): Promise; removeMessages(ids: string[]): Promise; removeMessagesByAssistant(assistantId: string, topicId?: string): Promise; removeAllMessages(): Promise; messageCountToCheckTrace(): Promise; hasMessages(): Promise; }