/** Folds case and diacritics (`dieu` matches `Điều`), substring only. One definition, since a list * matching differently reads as missing data. `Đ` needs an explicit fold: NFD leaves it one codepoint * with no mark to strip. */ export declare function normalizeForSearch(s: string): string; /** A code as typed: both sides keep only letters and digits, so `14b031` and `031.02` find `14B-031.02`. * Substring, never subsequence, or `1402` would match half the register. */ export declare function codeKey(s: string): string; /** An empty query matches everything. */ export declare function codeMatches(query: string, ...fields: string[]): boolean;