export interface RunOptions { project?: string; dryRun?: boolean; /** Min cluster size for abstraction emission. Default 5. */ minCluster?: number; /** Cosine similarity threshold for merge. Default 0.92. */ similarityThreshold?: number; /** If true, archive episodic memories with accessCount=0 + age > 180d. */ prune?: boolean; } export interface MergePair { kept: string; merged: string[]; } export interface Abstraction { id: string; abstractsOver: string[]; content: string; } export interface ConsolidationReport { project: string; startedAt: string; durationMs: number; scanned: number; mergedPairs: MergePair[]; abstractionsCreated: Abstraction[]; pruned: string[]; dryRun: boolean; similarityBackend: 'embeddings' | 'jaccard'; } interface ScheduleHandle { stop: () => void; } export declare class BrainConsolidator { private lastReports; private timers; private initialized; init(): Promise; run(opts?: RunOptions): Promise; schedule(project: string, intervalMs: number): ScheduleHandle; lastReport(project: string): ConsolidationReport | null; previewMerge(memoryIds: string[]): Promise<{ wouldMerge: boolean; mergedContent: string; droppedFields: string[]; }>; private similarityFn; private writeMerge; private makeAbstraction; private archiveMemory; private persistReport; } export declare function getBrainConsolidator(): BrainConsolidator; export declare function resetBrainConsolidatorForTests(): void; export {}; //# sourceMappingURL=brain-consolidator.d.ts.map