/** * Text/file-similarity primitives for the fuzzy ("similar enough to merge") * dedup tier. Byte-identical copies of these four helpers lived in both * halves of the pipeline — the auditor's same-lens/cross-lens merge passes * (src/audit/reporting/mergeFindings.ts) and the remediator's cross-lens * dedup (src/remediate/dedup/crossLensDedup.ts) — sitting right alongside * the severityRank/confidenceRank/findingIdentityKey imports both already * pulled from `audit-tools/shared`. Single-sourced here so the two fuzzy * layers can never silently drift on what "similar enough" means. * * Deliberately separate from findingIdentitySignature.ts: that module owns * the deterministic EXACT-match identity ladder; this one is the fuzzy layer * consulted only when the exact-match signature does not already collapse * two findings. */ import type { Finding } from "./types/finding.js"; /** * Jaccard similarity (0..1) of the whitespace-tokenized, case-folded, * punctuation-stripped word sets of `a` and `b`. */ export declare function wordJaccard(a: string, b: string): number; /** Jaccard overlap (0..1) of two findings' affected-file path sets. */ export declare function filePathOverlap(a: Finding, b: Finding): number; /** A finding's primary (first-listed) affected-file path, or "" when none. */ export declare function primaryPath(finding: Finding): string; //# sourceMappingURL=findingSimilarity.d.ts.map