/** * Shared Keyboard Handler Utilities * * Common keyboard event handling patterns used across multiple components */ import type React from 'react'; /** * Keyboard event handler options */ export interface KeyboardHandlerOptions { /** * Handler for Escape key */ onEscape?: (event: React.KeyboardEvent) => void; /** * Handler for Enter key */ onEnter?: (event: React.KeyboardEvent) => void; /** * Handler for Space key */ onSpace?: (event: React.KeyboardEvent) => void; /** * Handler for Arrow Up key */ onArrowUp?: (event: React.KeyboardEvent) => void; /** * Handler for Arrow Down key */ onArrowDown?: (event: React.KeyboardEvent) => void; /** * Handler for Arrow Left key */ onArrowLeft?: (event: React.KeyboardEvent) => void; /** * Handler for Arrow Right key */ onArrowRight?: (event: React.KeyboardEvent) => void; /** * Handler for Home key */ onHome?: (event: React.KeyboardEvent) => void; /** * Handler for End key */ onEnd?: (event: React.KeyboardEvent) => void; /** * Handler for Tab key */ onTab?: (event: React.KeyboardEvent) => void; /** * Whether to prevent default behavior for handled keys */ preventDefault?: boolean; /** * Whether to stop propagation for handled keys */ stopPropagation?: boolean; } /** * Creates a keyboard event handler that routes keys to specific callbacks * * @example * const handleKeyDown = createKeyboardHandler({ * onEscape: () => close(), * onEnter: () => select(), * onArrowDown: () => next(), * preventDefault: true * }) */ export declare function createKeyboardHandler(options: KeyboardHandlerOptions): (event: React.KeyboardEvent) => void; /** * Checks if a keyboard event is a navigation key (arrows, home, end) */ export declare function isNavigationKey(key: string): boolean; /** * Checks if a keyboard event is an activation key (enter, space) */ export declare function isActivationKey(key: string): boolean;