import type { MemoryConsolidationUsageSignal } from './memory-consolidation.js'; export interface MemoryUsageEntry { readonly injectedCount: number; readonly referencedCount: number; readonly lastInjectedAt: number | null; readonly lastReferencedAt: number | null; } export interface MemoryUsageTopEntry extends MemoryUsageEntry { readonly id: string; } export interface MemoryUsageSummary { readonly totalTracked: number; readonly everInjected: number; readonly everReferenced: number; readonly neverReferenced: number; readonly mostReferenced: readonly MemoryUsageTopEntry[]; readonly neverReferencedSample: readonly MemoryUsageTopEntry[]; readonly signalNote: string; } export declare const MEMORY_USAGE_SIGNAL_NOTE = "Reference detection is heuristic: it flags overlap between the model output and the injected memory's distinctive content, not ground truth that the memory changed the answer."; export declare class MemoryUsageStatsStore { private readonly filePath; private readonly entries; private loaded; constructor(filePath: string); private ensureLoaded; private persist; private mutable; recordInjected(ids: readonly string[], at?: number): void; recordReferenced(ids: readonly string[], at?: number): void; get(id: string): MemoryUsageEntry | null; /** Consolidation decay ordering seam, undefined when the id was never instrumented. */ lookup(id: string): MemoryConsolidationUsageSignal | undefined; summary(sampleLimit?: number): MemoryUsageSummary; } //# sourceMappingURL=memory-usage-stats.d.ts.map