UNPKG

1.38 kBTypeScriptView Raw
1/// <reference types="node" />
2import { EventEmitter } from 'events';
3export declare type EventMapType = Record<string | symbol | number, any>;
4export 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}