import { NetplayInput } from "./types"; import { TouchControl } from "./touchcontrols"; import { Vec2 } from "./vec2"; export declare class DefaultInput extends NetplayInput { keysPressed: { [key: string]: boolean; }; keysHeld: { [key: string]: boolean; }; keysReleased: { [key: string]: boolean; }; mousePosition?: { x: number; y: number; }; touches: Array<{ x: number; y: number; }>; touchControls?: { [name: string]: any; }; /** Helper function to return arrow keys as a Vec2. */ arrowKeys(): Vec2; /** Helper function to return WASD keys as a Vec2. */ wasd(): Vec2; } export declare class DefaultInputReader { canvas: HTMLCanvasElement; keysPressed: { [key: string]: boolean; }; keysHeld: { [key: string]: boolean; }; keysReleased: { [key: string]: boolean; }; mousePosition: { x: number; y: number; } | null; mouseDelta: { x: number; y: number; } | null; touches: Array<{ x: number; y: number; }>; touchControls: { [name: string]: TouchControl; }; getCanvasScale(): { x: number; y: number; }; projectClientPosition(clientX: number, clientY: number): { x: number; y: number; }; constructor(root: HTMLElement | undefined, canvas: HTMLCanvasElement, pointerLock: boolean, touchControls: { [name: string]: TouchControl; }); updateMousePosition(event: MouseEvent): void; updateTouches(event: TouchEvent): void; getInput(): DefaultInput; }