import { EventEmitter } from 'eventemitter3'; import type { Cursor, EventPosition } from '../types'; import { CanvasConfig } from '../types'; import type { FederatedEvent } from '../dom/FederatedEvent'; import type { IEventTarget } from '../dom/interfaces'; import type { PointLike } from '../shapes'; declare type Picker = (position: EventPosition) => Promise; export declare type EmitterListeners = Record any; context: any; once: boolean; }[] | { fn: (...args: any[]) => any; context: any; once: boolean; }>; export declare class EventService extends EventEmitter { private renderingContext; private contextService; protected canvasConfig: CanvasConfig; private rootTarget; cursor: Cursor | null; private mappingTable; private mappingState; private eventPool; private pickHandler; init(): void; client2Viewport(client: PointLike): PointLike; viewport2Client(canvas: PointLike): PointLike; viewport2Canvas({ x, y }: PointLike): PointLike; canvas2Viewport(canvasP: PointLike): PointLike; setPickHandler(pickHandler: Picker): void; addEventMapping(type: string, fn: (e: FederatedEvent) => Promise): void; mapEvent(e: FederatedEvent): void; private handleTouchEvent; onTouchStart: (from: FederatedEvent) => Promise; onTouchMove: (from: FederatedEvent) => Promise; onTouchEnd: (from: FederatedEvent) => Promise; onTouchCancel: (from: FederatedEvent) => Promise; onPointerDown: (from: FederatedEvent) => Promise; onPointerUp: (from: FederatedEvent) => Promise; onPointerMove: (from: FederatedEvent) => Promise; onPointerOut: (from: FederatedEvent) => Promise; onPointerOver: (from: FederatedEvent) => Promise; onPointerUpOutside: (from: FederatedEvent) => Promise; onWheel: (from: FederatedEvent) => Promise; dispatchEvent(e: FederatedEvent, type?: string): void; propagate(e: FederatedEvent, type?: string): void; propagationPath(target: IEventTarget): IEventTarget[]; hitTest(position: EventPosition): Promise; private isNativeEventFromCanvas; private pickTarget; private createPointerEvent; private createTouchEvent; private createWheelEvent; private trackingData; private clonePointerEvent; private copyPointerData; private copyMouseData; private copyTouchData; private copyWheelData; private copyData; private allocateEvent; private freeEvent; private notifyTarget; private notifyListeners; /** * some detached nodes may exist in propagation path, need to skip them */ private findMountedTarget; private getCursor; } export {};