import { InputActionMap, type InputActionValue } from "./input-action-map.js"; export interface KeyboardActionBinding { code: string; action: string; value: InputActionValue; } export interface PointerActionBinding { action: string; button?: number; value: InputActionValue; } export interface GamepadActionBinding { action: string; /** Standard Gamepad button or axis index; axis pairs feed an axis2 action. */ button?: number; axis?: number; axes?: readonly [number, number]; gamepadIndex?: number; scale?: number; } export interface InputDeviceAdapterOptions { element: HTMLElement; keyboard?: readonly KeyboardActionBinding[]; pointer?: readonly PointerActionBinding[]; pointerDeltaAction?: string; gamepad?: readonly GamepadActionBinding[]; preventDefault?: boolean; /** Injectable for hosts and verification; omitted uses this element's navigator. */ getGamepads?: () => readonly (Gamepad | null)[]; onError?: (error: unknown) => void; } /** Scoped DOM listeners and device polling; no timer or independent frame loop. */ export declare function createInputDeviceAdapter(map: InputActionMap, options: InputDeviceAdapterOptions): { poll: () => void; release: () => void; dispose(): void; }; //# sourceMappingURL=input-device-adapter.d.ts.map