/**
 * Store-level deduplication. Scans for near-duplicate memories by content
 * Jaccard overlap, keeps the stronger copy (by strength + retrieval count),
 * removes the rest.
 *
 * Extracted from cli.ts in Episode A (v1.11.3) so `api.sleep` can dedupe
 * during the consolidation pipeline without violating the cli -> api
 * dependency direction. `cmdDedup` in cli.ts continues to import and use
 * this function unchanged.
 */
export interface DedupPair {
    kept: string;
    keptContent: string;
    keptLayer: string;
    keptStrength: number;
    removed: string;
    removedContent: string;
    removedLayer: string;
    removedStrength: number;
    similarity: number;
}
/**
 * Scan the store for near-duplicate memories and remove the weaker copy.
 * Two memories are duplicates if their content has > threshold Jaccard overlap.
 * Keeps the one with higher strength (or more retrievals if tied).
 */
export declare function deduplicateStore(hippoRoot: string, options?: {
    threshold?: number;
    dryRun?: boolean;
}): {
    removed: number;
    pairs: DedupPair[];
};
//# sourceMappingURL=dedupe.d.ts.map