/** * Default keymap and conflict validation (V2-033). * * A chord is a normalized, case-insensitive string ("ctrl+c", "shift+enter", * "up"). Bindings are data: help/status text and tests read them so no * component hardcodes terminal bytes. `validateKeymap` guarantees a context * never binds one chord to two different actions, which is asserted in tests so * new bindings cannot silently shadow existing ones. */ import type { ActionContext, ActionId } from "./action-id.js"; export { normalizeChord } from "./chord.js"; export interface KeyBinding { readonly chord: string; readonly action: ActionId; readonly context: ActionContext; } export interface KeymapConflict { readonly context: ActionContext; readonly chord: string; readonly actions: readonly ActionId[]; } export declare const defaultKeymap: readonly KeyBinding[]; export declare function validateKeymap(bindings: readonly KeyBinding[]): KeymapConflict[];