/**
 * Fuzzy symbol name matcher using Fuse.js.
 * Provides typo-tolerant search with ranked suggestions when exact/LIKE matching fails.
 */
interface FuzzyMatch {
    name: string;
    score: number;
    kind?: string;
    filePath?: string;
}
/**
 * Find symbols with names similar to the target using fuzzy matching.
 *
 * @param target - The search term (possibly misspelled)
 * @param candidates - Array of { name, kind, file_path } records from the symbols table
 * @param maxResults - Maximum number of suggestions to return (default: 5)
 * @param threshold - Fuse.js threshold 0-1; lower = stricter matching (default: 0.4)
 */
declare function findSimilarSymbols(target: string, candidates: Array<{
    name: string;
    kind?: string;
    file_path?: string;
}>, maxResults?: number, threshold?: number): FuzzyMatch[];
/**
 * Convert a glob-style pattern to a SQL LIKE pattern.
 *
 * Supported conversions:
 *   *  → %  (match any characters)
 *   ?  → _  (match single character)
 *
 * Other characters are passed through as-is.
 * SQL LIKE special characters (% and _) in the input that are NOT glob
 * wildcards are NOT escaped — this is intentional since users shouldn't
 * be passing raw SQL; they should be passing glob-style patterns.
 */
declare function globToLike(pattern: string): string;
/**
 * Check if a search term contains glob-style wildcards.
 */
declare function isGlobPattern(term: string): boolean;
/**
 * Check if a search term is a "list all" wildcard.
 */
declare function isWildcard(term: string): boolean;

export { type FuzzyMatch, findSimilarSymbols, globToLike, isGlobPattern, isWildcard };
