import * as rc from "../rive_advanced.mjs"; export interface KeyboardInteractionsParams { canvas: HTMLCanvasElement; stateMachine: rc.StateMachineInstance; rive: rc.RiveCanvas; /** * Whether this canvas has focus nodes that should participate in tab traversal. * When true, Tab/Shift+Tab will be intercepted and routed to the Rive focus manager. * focusNext() returning false means no more traversable nodes — tab is released to the page. */ hasFocusNodes: boolean; } /** * Registers focus and tab-traversal event handlers on the canvas to route * Tab/Shift+Tab to the active Rive state machine's focus manager. * * Mirrors registerTouchInteractions for pointer events. * * Returns a cleanup function that removes all registered event listeners, * or null if the setup conditions are not met. */ export declare const registerKeyboardInteractions: ({ canvas, stateMachine, rive, hasFocusNodes, }: KeyboardInteractionsParams) => (() => void) | null;