/**
 * @fileoverview String similarity utilities for fuzzy matching.
 *
 * Provides Levenshtein distance and similarity scoring for:
 * - Completion phrase fuzzy matching
 * - Todo content deduplication
 *
 * @module utils/string-similarity
 */
/**
 * Calculate similarity ratio between two strings (0 to 1).
 * Uses Levenshtein distance normalized by the longer string's length.
 *
 * @param a - First string
 * @param b - Second string
 * @returns Similarity ratio (1.0 = identical, 0.0 = completely different)
 *
 * @example
 * stringSimilarity('hello', 'hello') // 1.0
 * stringSimilarity('hello', 'helo')  // 0.8 (4/5 similar)
 * stringSimilarity('abc', 'xyz')     // 0.0 (3 edits, length 3)
 */
export declare function stringSimilarity(a: string, b: string): number;
/**
 * Check if two completion phrases match with fuzzy tolerance.
 *
 * First normalizes both phrases, then checks:
 * 1. Exact match after normalization
 * 2. Edit distance <= maxDistance for typo tolerance
 *
 * @param phrase1 - First phrase to compare
 * @param phrase2 - Second phrase to compare
 * @param maxDistance - Maximum edit distance for fuzzy match (default: 2)
 * @returns True if phrases match (exact or fuzzy)
 *
 * @example
 * fuzzyPhraseMatch('COMPLETE', 'COMPLETE')        // true (exact)
 * fuzzyPhraseMatch('COMPLETE', 'COMPLET')         // true (typo)
 * fuzzyPhraseMatch('TASK_DONE', 'TASKDONE')       // true (separator)
 * fuzzyPhraseMatch('COMPLETE', 'FINISHED')        // false (different word)
 */
export declare function fuzzyPhraseMatch(phrase1: string, phrase2: string, maxDistance?: number): boolean;
/**
 * Generate a content hash for todo deduplication.
 * Normalizes content and generates a simple hash.
 *
 * @param content - Todo item content
 * @returns Normalized hash string for comparison
 */
export declare function todoContentHash(content: string): string;
//# sourceMappingURL=string-similarity.d.ts.map