import type { MemoryAddOptions, MemoryBundle, MemoryDoctorReport, MemoryLink, MemoryRecord, MemoryReviewPatch, MemoryScope, MemorySearchFilter, MemorySemanticSearchResult, MemoryStore } from './memory-store.js';
import type { MemoryVectorStats } from './memory-vector-store.js';
import type { MemoryImportResult } from './memory-store.js';
/**
 * MemoryRegistry — thin observable wrapper around the MemoryStore.
 * Panels subscribe via listeners; commands push/retrieve through this.
 */
export declare class MemoryRegistry {
    private store;
    private listeners;
    constructor(store: MemoryStore);
    getStore(): MemoryStore;
    subscribe(fn: () => void): () => void;
    private notify;
    add(opts: MemoryAddOptions): Promise<MemoryRecord>;
    search(filter?: MemorySearchFilter): MemoryRecord[];
    searchSemantic(filter?: MemorySearchFilter): MemorySemanticSearchResult[];
    rebuildVectors(): MemoryVectorStats;
    rebuildVectorsAsync(): Promise<MemoryVectorStats>;
    vectorStats(): MemoryVectorStats;
    doctor(): Promise<MemoryDoctorReport>;
    reviewQueue(limit?: number): MemoryRecord[];
    exportBundle(filter?: MemorySearchFilter): MemoryBundle;
    importBundle(bundle: MemoryBundle): Promise<MemoryImportResult>;
    get(id: string): MemoryRecord | null;
    link(fromId: string, toId: string, relation: string): Promise<MemoryLink | null>;
    linksFor(id: string): MemoryLink[];
    update(id: string, patch: {
        scope?: MemoryScope;
        summary?: string;
        detail?: string;
        tags?: string[];
    }): MemoryRecord | null;
    review(id: string, patch: MemoryReviewPatch): MemoryRecord | null;
    delete(id: string): boolean;
    getAll(): MemoryRecord[];
}
//# sourceMappingURL=memory-registry.d.ts.map