export interface IEvent { target: Target; type: string | symbol; bubbles?: boolean; defaultPrevented?: boolean; propagationStopped?: boolean; data: Data; } export type TListener = (this: Context, evt: Event) => any; export interface I$Listener { listener: TListener; context: any; } export declare const EventEmitter_CommonState: { inBatchCounter: number; batchedEvents: Array; inSilentlyCounter: number; }; export declare class EventEmitter { static batch(fn: Function): void; static silently(fn: Function): void; protected _listeners: Map; getListeners(): ReadonlyMap>; getListeners(type: string | symbol): ReadonlyArray; on(type: string | symbol, listener: TListener, context?: any): this; on(listeners: Record, context?: any): this; off(type: string | symbol, listener: TListener, context?: any): this; off(listeners?: Record, context?: any): this; protected _on(type: string | symbol, listener: TListener, context: any): void; protected _off(type: string | symbol, listener: TListener, context: any): void; once(type: string | symbol, listener: TListener, context?: any): (this: any, evt: IEvent) => any; emit(evt: { target?: EventEmitter; type: string | symbol; bubbles?: boolean; defaultPrevented?: boolean; propagationStopped?: boolean; data?: any; } | string | symbol, data?: any): IEvent; triggerEvent(evt: IEvent): void; protected _tryEventListener($listener: I$Listener, evt: IEvent): any; }