import { C as CanonicalKey, h as ShortcutRegistry, g as ShortcutEntry, K as KeyComparator, S as SortMode } from '../controller-UD1Fmtsm.js';
export { d as CheatsheetEntry, e as CheatsheetGroup, f as CheatsheetModel, G as GroupEntry, L as LayerHandle, a as ShortcutHandler, b as ShortcutOptions, i as WhichKeyCandidate, W as WhichKeyEngine, j as WhichKeyOptions, k as WhichKeySnapshot, c as WhichKeyState, l as createWhichKey } from '../controller-UD1Fmtsm.js';
/**
* Canonicalizes a live `KeyboardEvent` — the runtime half of the canonical-key
* contract. Its output must stay byte-identical to `parseKey`'s for the same
* chord: registry lookups are plain `Map` gets, so any divergence surfaces as a
* shortcut that silently never fires.
*/
declare const eventToCanonical: (event: KeyboardEvent) => CanonicalKey;
/**
* True when the keydown is a bare `Shift`/`Control`/`Alt`/`AltGraph`/`Meta`
* press with nothing chorded onto it yet. The matcher ignores these, so
* holding a modifier never aborts a pending sequence.
*/
declare const isModifierOnlyEvent: (event: KeyboardEvent) => boolean;
/**
* Canonicalizes one chord written as a key string — the registration half of
* the canonical-key contract, which `eventToCanonical` must match byte for
* byte.
*
* Modifier names are case-insensitive and accept the usual aliases
* (`control`, `option`, `meta`/`command`, `mod`); `Mod` resolves to `Cmd` on
* macOS and `Ctrl` everywhere else. A bare uppercase letter implies Shift, so
* `parseKey('N')` matches a real Shift+n press.
*
* Throws on an empty string, an unknown modifier, or a missing base after a
* `+`. A base that is not a key name this library recognises only warns and
* passes through verbatim, so exotic `event.key` values stay bindable.
*/
declare const parseKey: (input: string) => CanonicalKey;
/**
* Splits a space-separated sequence and canonicalizes each chord with
* `parseKey`. Throws on an empty or whitespace-only string, and on any chord
* `parseKey` itself rejects.
*/
declare const parseSequence: (input: string) => CanonicalKey[];
/**
* True when `target` is a text-entry element — an ``, a `