export declare function fuzzySearch>(items: T[], query: string, fields: (keyof T)[]): T[]; /** Lowercase, replace every non-alphanumeric run with a single space, trim. */ export declare function normalizeName(s: string): string; /** * How well `query` names `name`, from 0 (no match) to 1 (exact). * The tiers are deliberately well separated so a better *kind* of match * always outranks a worse one regardless of the within-tier adjustment. */ export declare function scoreName(query: string, name: string): number; /** * Sort `items` by how well `query` matches the name returned by `nameOf`, * best first, dropping anything below `minScore`. Stable within a score * (Array.prototype.sort is stable), so data-file order is the final tiebreak. */ export declare function rankByName(items: T[], query: string, nameOf: (item: T) => string, minScore?: number): { item: T; score: number; }[]; //# sourceMappingURL=search.d.ts.map