import type { Message, MessageStore } from '@agforge/core'; /** * 可写消息存储抽象类。 * * 继承 MessageStore 的能力,新增 setMessages 用于整体替换消息列表。 * 压缩拦截器通过 `instanceof WritableMessageStore` 检测是否启用压缩能力。 * * 使用方式: * - 不需要压缩:使用 InMemoryMessageStore(core 层) * - 需要压缩:使用 InMemoryWritableMessageStore 或继承 WritableMessageStore * * 用户自定义存储示例: * ```typescript * class DbMessageStore extends WritableMessageStore { * async getMessages() { return await db.messages.findAll(); } * async addMessages(...messages) { await db.messages.insertMany(messages); } * async setMessages(messages) { await db.messages.replaceAll(messages); } * } * ``` */ export declare abstract class WritableMessageStore implements MessageStore { /** * 获取所有消息。 * * @returns 消息列表的只读副本 */ abstract getMessages(): Promise>; /** * 追加消息。 * * @param messages - 要追加的消息 */ abstract addMessages(...messages: Array): Promise; /** * 整体替换消息列表。 * * 压缩场景使用:用压缩后的消息列表替换原有消息。 * * @param messages - 新的消息列表 */ abstract setMessages(messages: Array): Promise; }