export declare enum EventTypes { MOUSE_LEFT_BUTTON_PRESSED = "MOUSE_LEFT_BUTTON_PRESSED", MOUSE_WHEEL = "MOUSE_WHEEL", MOUSE_MOTION = "MOUSE_MOTION" } export declare class EventManager { private propagate; propagateEvent(name: EventTypes, eventData: E, rootListener: EventListener): boolean; } export declare type EventHandler = (eventData: E) => boolean; export declare type EventValidator = (eventName: EventTypes, eventData: E) => boolean; export declare class EventListener { parent?: EventListener; children: EventListener[]; listeners: { [eventName: string]: EventHandler | undefined; }; validator: EventValidator | undefined; listenerCount: number; private updateListenerCount; addChild(child: EventListener): void; findChild(child: EventListener): number; removeChild(child: EventListener): void; private setListener; setOnClickListener(listener?: EventHandler): void; setValidator(validator?: EventValidator): void; setOnWheelListener(listener?: EventHandler): void; setOnMouseMoveListener(listener?: EventHandler): void; } //# sourceMappingURL=events.d.ts.map