import { KeyboardEvent, ShortcutConfig } from '../types/interaction';
export declare class KeyboardHandler {
    private shortcuts;
    private keySequences;
    private currentSequence;
    private sequenceTimeout?;
    private readonly SEQUENCE_TIMEOUT_MS;
    static normalizeKeyEvent(rawKey: any, rawCh?: any): KeyboardEvent;
    static buildShortcutKey(event: KeyboardEvent): string;
    static parseShortcutKey(shortcut: string): {
        ctrl: boolean;
        alt: boolean;
        shift: boolean;
        meta: boolean;
        key: string;
    };
    static matchesShortcut(event: KeyboardEvent, shortcut: string): boolean;
    registerShortcut(config: ShortcutConfig): void;
    unregisterShortcut(key: string): void;
    findMatchingShortcut(event: KeyboardEvent): ShortcutConfig | undefined;
    registerKeySequence(sequence: string[], action: string): void;
    private checkSequenceMatch;
    static isNavigationKey(key: string): boolean;
    static isFunctionKey(key: string): boolean;
    static isPrintableKey(event: KeyboardEvent): boolean;
    static getKeyDescription(event: KeyboardEvent): string;
    getShortcuts(): ShortcutConfig[];
    getShortcutsByContext(context: string): ShortcutConfig[];
    clear(): void;
    destroy(): void;
}
//# sourceMappingURL=keyboard-handler.d.ts.map