import type { Entity } from './types.js'; export interface SimilarityScore { exact: number; lexical: number; semantic: number; structural: number; combined: number; } export interface EmbeddingStore { get(canonicalId: string): number[] | null; embed?(text: string): number[]; findSimilar?(vector: number[], limit: number): { canonicalId: string; score: number; }[]; } export declare const WEIGHTS: { readonly exact: 0.4; readonly lexical: 0.2; readonly semantic: 0.3; readonly structural: 0.1; }; export declare const THRESHOLDS: { readonly duplicate: 0.95; readonly duplicateLexical: 0.98; readonly duplicateSemantic: 0.98; readonly duplicateStructural: 0.95; readonly similar: 0.8; readonly related: 0.6; }; export declare function tokenize(text: string): Set; export declare function jaccardSimilarity(a: Set, b: Set): number; export declare function cosineSimilarity(a: number[] | null | undefined, b: number[] | null | undefined): number; export declare function computeStructuralSimilarityFromNeighbors(a: Set, b: Set): number; export declare function computeSimilarity(a: Entity, b: Entity, embeddings: EmbeddingStore, options?: { structural?: number; }): SimilarityScore; //# sourceMappingURL=similarity.d.ts.map