1 |
|
2 | import { EventEmitter } from 'events';
|
3 | export declare type EventMapType = Record<string | symbol, any>;
|
4 | export declare class StrictEventEmitter<EventMap extends EventMapType> extends EventEmitter {
|
5 | constructor();
|
6 | on<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
7 | once<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
8 | off<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
9 | emit<Event extends keyof EventMap>(event: Event, ...data: Parameters<EventMap[Event]>): boolean;
|
10 | addListener<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
11 | prependListener<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
12 | prependOnceListener<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
13 | removeListener<Event extends keyof EventMap>(event: Event, listener: EventMap[Event]): this;
|
14 | removeAllListeners<Event extends keyof EventMap>(event?: Event): this;
|
15 | eventNames<Event extends keyof EventMap>(): Event[];
|
16 | listeners<Event extends keyof EventMap>(event: Event): Array<EventMap[Event]>;
|
17 | rawListeners<Event extends keyof EventMap>(event: Event): Array<EventMap[Event]>;
|
18 | listenerCount<Event extends keyof EventMap>(event: Event): number;
|
19 | }
|