/** * Fuzzy file matching utilities for file tree search. * Provides VS Code-style fuzzy matching with substring support, * match index calculation for highlighting, and scoring for ranking. */ /** * Find the indices of fuzzy matched characters in the target string. * Prioritizes matching in the filename first for filename-only queries. * For path queries (containing "/"), tries to find contiguous matches first. * Returns the indices where each query character was matched. */ export declare function findFuzzyMatchIndices(query: string, target: string): number[]; /** * Match query characters within a specific range of the target string. * Non-alphanumeric query characters that aren't found are skipped, * matching the behavior of buildFuzzyPattern which converts them to wildcards. */ export declare function matchInRange(query: string, target: string, start: number, end: number): number[]; /** * Calculate a score for fuzzy match quality (higher = better match). * Prioritizes: exact filename matches, filename prefix matches, consecutive matches, * word boundary matches, and shorter paths. */ export declare function calculateFuzzyMatchScore(query: string, filePath: string, matchIndices: number[]): number; /** * Convert a search query to a case-insensitive fuzzy glob pattern for ripgrep. * Splits query at last "/" - path section uses tight matching (exact dirs), * filename section uses typo-tolerant wildcards between chars. */ export declare function queryToFuzzyGlob(query: string): string; /** * Build a fuzzy pattern for a single segment (no path separators). */ export declare function buildFuzzyPattern(segment: string, typoTolerant: boolean): string;