/** * GamepadNavigationContext — React context for UI-level spatial * gamepad/keyboard navigation (focus management, focus traps, game-mode lock). * * For in-game input, use InputManager from `./input`. * This context is for navigating UI elements (menus, buttons, selects) * with a gamepad d-pad or analog stick. */ import React, { type ReactNode } from "react"; export interface FocusableMeta { id: string; ref: React.RefObject; x: number; y: number; width: number; height: number; isDropdown?: boolean; } export interface GamepadNavigationContextType { register: (meta: FocusableMeta) => void; unregister: (id: string) => void; moveFocus: (dx: number, dy: number) => void; setActive: (id: string) => void; activeId: string | null; focusables: FocusableMeta[]; pushFocusTrap: (prefix: string, onDismiss?: () => void) => void; popFocusTrap: () => void; enterGameMode: () => void; exitGameMode: () => void; } export declare function GamepadNavigationProvider({ children }: { children: ReactNode; }): import("react/jsx-runtime").JSX.Element; export declare function useGamepadNavigation(): GamepadNavigationContextType;