import type { SessionMessageModel, WS_DATA_TYPE_TEXT, WS_MSG_MULTIPLE_DATA } from '@mindverse/accessor-open'; import { WS_MSG_DATA_TYPE } from '@mindverse/accessor-open'; export declare enum MessageItemType { RECEIVE = "RECEIVE", SEND = "SEND", SYSTEM = "SYSTEM" } export default interface MessageItem { type: MessageItemType; multipleData: WS_MSG_MULTIPLE_DATA[]; data: WS_DATA_TYPE_TEXT; timestamp?: number; dividerContent?: string; content?: string; messageId?: string; seqId: string; sources?: string[]; index?: number; } export declare function transformNewMsg(msg: SessionMessageModel): MessageItem; /** * 消息是否相同 * @param left left Message * @param right right Message * @returns is Same */ export declare const isSameMessage: (left: MessageItem, right: MessageItem) => boolean; /** * 用于内部展示的铺平后的逻辑 */ export interface ChatListItem { type: MessageItemType; singleDataType: WS_MSG_DATA_TYPE; msgBubble?: boolean; content: string; timestamp?: number; files?: string[]; sources: string[]; messageId?: string; } export declare const flatMessages: (originSource: MessageItem[]) => ChatListItem[][];