type Delta = { x: number; y: number; }; type NavigationAction = { type: "delta"; delta: Delta; } | { type: "home"; } | { type: "end"; } | { type: "tableStart"; } | { type: "tableEnd"; }; /** * Maps keyboard events to navigation actions. * Supports arrow keys, Home/End (row navigation), Ctrl/Cmd+Home/End (table navigation), * and PageUp/PageDown (multi-row navigation). */ declare function getNavigationAction(event: KeyboardEvent): NavigationAction | null; /** * Determines if keyboard navigation should be blocked based on the current focus context. * Allows for custom blocking logic via an optional callback. * * Tries to make assumptions of what the user is currently doing inside a table cell * Should block navigation if: * - Input has selection, caret is not at start/end * - Select arrow down/up for opening popup * - User is navigating inside multiline textarea * - contenteditable attrb is in use */ declare function shouldBlockNavigation(event: KeyboardEvent): boolean; export { getNavigationAction, shouldBlockNavigation }; export type { Delta, NavigationAction };