import type { MemoryScope, RetainPolicy, ScopedMemoryEntry } from "./types.js"; import type { CronLogger } from "../cron/types.js"; export interface FileMemoryStoreOptions { rootDir: string; scope: MemoryScope; retainPolicies?: RetainPolicy[]; logger?: CronLogger; /** 启动时是否自动 hydrate(从盘读入内存缓存)。默认 true。 */ autoHydrate?: boolean; } export declare class FileMemoryStore { private readonly rootDir; private readonly scope; private readonly scopeDir; private readonly scopeStr; private readonly logger; private retainPolicies; private readonly cache; private hydratePromise; constructor(opts: FileMemoryStoreOptions); /** 从盘读入内存缓存(启动时调)。幂等 —— 并发调用复用同一 promise。 */ hydrate(): Promise; private doHydrate; /** 落盘 .md,返回 id。frontmatter + body 格式。 */ memorize(input: { type: string; content: string; }): Promise; /** 扫内存缓存 + 子串匹配(与 AutoMemoryManager 语义一致)。空 query 返回全部。 */ recall(query: string): Promise; /** 删文件 + 内存缓存。返回是否曾存在。 */ forget(id: string): Promise; /** 列全部(内存缓存)。 */ list(): Promise; /** 应用 retain policies,删除超龄/超量 entry。返回计数。 */ reconcile(): Promise<{ indexed: number; pruned: number; deleted: number; }>; loadRules(rules: RetainPolicy[]): void; /** 清空本 scope 全部记忆(删目录)。 */ clear(): Promise; private ensureHydrated; }