/** * THE edit distance: Levenshtein with adjacent transpositions — optimal string * alignment (restricted Damerau–Levenshtein). Inserting, deleting or * substituting a character, or swapping two ADJACENT characters, each cost 1. * * Plain Levenshtein charged a transposition 2, and the command-typo tolerance * is `max(1, floor(len / 4))`, so a fingers-on-keys swap in a word under 8 * characters (`chian` → `chain`, `lsit` → `list`, `wirign` → `wiring`) never * came within tolerance: the refusal listed the subcommands but named no * closest match (round 11 review). The name stays — every "did you mean" in * the tree reads this one function. Iterative, three rows of state. * * Lives in `core` (round 13) so the lowest layer — the `expectEmpty` marker * parser — can offer a did-you-mean without importing upward. `@shrkcrft/inspector` * re-exports it unchanged from `nearest-id.ts`, and the CLI's `editDistance` * is this same function object: still ONE scorer. */ export declare function levenshtein(a: string, b: string): number; //# sourceMappingURL=levenshtein.d.ts.map