export interface KeyBinding { name: string; ctrl?: boolean; shift?: boolean; meta?: boolean; super?: boolean; action: Action; } export type KeyAliasMap = Record; export declare const defaultKeyAliases: KeyAliasMap; export declare function mergeKeyAliases(defaults: KeyAliasMap, custom: KeyAliasMap): KeyAliasMap; export declare function mergeKeyBindings(defaults: KeyBinding[], custom: KeyBinding[]): KeyBinding[]; export declare function getKeyBindingKey(binding: KeyBinding): string; export declare function buildKeyBindingsMap(bindings: KeyBinding[], aliasMap?: KeyAliasMap): Map; /** * Converts a key binding to a human-readable string representation * @param binding The key binding to stringify * @returns A string like "ctrl+shift+y" or just "escape" * @example * keyBindingToString({ name: "y", ctrl: true, shift: true }) // "ctrl+shift+y" * keyBindingToString({ name: "escape" }) // "escape" * keyBindingToString({ name: "c", ctrl: true }) // "ctrl+c" * keyBindingToString({ name: "s", super: true }) // "super+s" */ export declare function keyBindingToString(binding: KeyBinding): string;