@react-slate/core
Version:
Write interactive CLI apps with React
30 lines • 1.21 kB
TypeScript
export declare enum EventTypes {
MOUSE_LEFT_BUTTON_PRESSED = "MOUSE_LEFT_BUTTON_PRESSED",
MOUSE_WHEEL = "MOUSE_WHEEL",
MOUSE_MOTION = "MOUSE_MOTION"
}
export declare class EventManager<E> {
private propagate;
propagateEvent(name: EventTypes, eventData: E, rootListener: EventListener<E>): boolean;
}
export declare type EventHandler<E> = (eventData: E) => boolean;
export declare type EventValidator<E> = (eventName: EventTypes, eventData: E) => boolean;
export declare class EventListener<E> {
parent?: EventListener<E>;
children: EventListener<E>[];
listeners: {
[eventName: string]: EventHandler<E> | undefined;
};
validator: EventValidator<E> | undefined;
listenerCount: number;
private updateListenerCount;
addChild(child: EventListener<E>): void;
findChild(child: EventListener<E>): number;
removeChild(child: EventListener<E>): void;
private setListener;
setOnClickListener(listener?: EventHandler<E>): void;
setValidator(validator?: EventValidator<E>): void;
setOnWheelListener(listener?: EventHandler<E>): void;
setOnMouseMoveListener(listener?: EventHandler<E>): void;
}
//# sourceMappingURL=events.d.ts.map