/** * Interaction-overlap deduplication for flows. * Removes lower-quality flows when their interaction sets significantly overlap. */ import type { FlowSuggestion } from './types.js'; /** * Remove flows whose interaction sets overlap above the given threshold. * When two flows overlap, the lower-quality one (per `pickFlowToDrop`) is removed. * * Overlap ratio = |intersection| / min(|A|, |B|) */ export declare function deduplicateByInteractionOverlap(flows: FlowSuggestion[], threshold?: number, protectCoverage?: boolean): FlowSuggestion[]; /** * Deduplicate flows that have the exact same set of interaction IDs. * When two flows share identical interaction sets, the lower-quality one is removed. */ export declare function deduplicateByInteractionSet(flows: FlowSuggestion[]): FlowSuggestion[]; /** * Given two overlapping flows, decide which to drop. * Prefer keeping: specific over catch-all > higher tier > more definitionSteps > fewer interactionIds (more focused) > earlier in array. */ export declare function pickFlowToDrop(a: FlowSuggestion, b: FlowSuggestion, idxA: number, idxB: number): number; //# sourceMappingURL=dedup.d.ts.map