import type { MemoryRecord } from "@oscharko-dev/keiko-contracts/memory";
export interface DuplicateCluster {
    readonly canonicalId: string;
    readonly members: readonly MemoryRecord[];
}
export interface DuplicateClusterScanOptions {
    readonly cancellationSignal?: () => boolean;
}
export interface DuplicateClusterScanResult {
    readonly clusters: readonly DuplicateCluster[];
    readonly canceled: boolean;
}
export declare function scanDuplicateClusters(records: readonly MemoryRecord[], jaccardThreshold: number, options?: DuplicateClusterScanOptions): DuplicateClusterScanResult;
export declare function findDuplicateClusters(records: readonly MemoryRecord[], jaccardThreshold: number): readonly DuplicateCluster[];
//# sourceMappingURL=dedupe.d.ts.map