import type { RuntimeSession, RuntimePlugin } from "../core/runtime-session.js"; import { InputActionMap, type InputActionDefinition, type InputActionState } from "./input-action-map.js"; import { type InputDeviceAdapterOptions } from "./input-device-adapter.js"; export interface RuntimeInputOptions { id: string; actions: readonly InputActionDefinition[]; maxSources?: number; devices?: Omit & { element?: HTMLElement; }; } /** Optional input composition over the session's existing input phase. */ export declare function createRuntimeInput(runtime: RuntimeSession, options: RuntimeInputOptions): { map: InputActionMap; capture(ownerId: string, actions: readonly string[], options?: { priority?: number; camera?: boolean; }): () => void; getAction: (name: string) => InputActionState | null; dispose(): void; }; export declare function createInputPlugin(options: RuntimeInputOptions): RuntimePlugin; //# sourceMappingURL=runtime-input-controller.d.ts.map