import type { Engine } from '../../engine'; import type { Disposable } from '../../utils'; export declare const EVENT_TYPE_CLICK = "click"; export declare const EVENT_TYPE_TOUCH_START = "touchstart"; export declare const EVENT_TYPE_TOUCH_MOVE = "touchmove"; export declare const EVENT_TYPE_TOUCH_END = "touchend"; export type TouchEventType = { x: number; y: number; vx: number; vy: number; ts: number; dx: number; dy: number; width: number; height: number; origin: Event; }; export type TouchParams = { clientX: number; clientY: number; target: EventTarget; }; export declare enum PointerEventType { PointerDown = 0, PointerUp = 1, PointerMove = 2 } export declare class EventSystem implements Disposable { engine: Engine; allowPropagation: boolean; enabled: boolean; skipPointerMovePicking: boolean; private handlers; private nativeHandlers; private target; constructor(engine: Engine, allowPropagation?: boolean); bindListeners(target: HTMLCanvasElement | null): void; dispatchEvent(type: string, event: TouchEventType): void; addEventListener(type: string, callback: (event: TouchEventType) => void): () => void; removeEventListener(type: string, callback: (event: TouchEventType) => void): void; private onClick; private onPointerDown; private onPointerUp; private onPointerMove; private handlePointerEvent; dispose(): void; }