import type { StateStore } from './base-store.js'; export interface FileStoreOptions { filePath: string; /** * 最大事件保留时长(毫秒)。超出该时间窗口的旧事件会在 compact 时被丢弃。 * 若未设置或 <=0,则不按时间裁剪。 */ maxAgeMs?: number; /** * 单个文件中最多保留的事件条数(不含最新快照)。 * 若未设置或 <=0,则不按数量裁剪。 */ maxEvents?: number; } export declare class JsonlFileStore implements StateStore { private readonly filePath; private readonly maxAgeMs; private readonly maxEvents; constructor(options: FileStoreOptions); load(): Promise; save(snapshot: TSnapshot): Promise; append(event: TEvent): Promise; compact(): Promise; private appendLine; }