UNPKG

1.04 kBTypeScriptView Raw
1declare module 'events' {
2 interface NodeEventTarget {
3 once(event: string | symbol, listener: (...args: any[]) => void): this;
4 }
5
6 interface DOMEventTarget {
7 addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any;
8 }
9
10 class EventEmitter extends NodeJS.EventEmitter {
11 constructor();
12
13 static once(emitter: NodeEventTarget, event: string | symbol): Promise<any[]>;
14 static once(emitter: DOMEventTarget, event: string): Promise<any[]>;
15
16 /** @deprecated since v4.0.0 */
17 static listenerCount(emitter: NodeJS.EventEmitter, event: string | symbol): number;
18
19 // TODO: This should be described using a static getter/setter pair:
20 static defaultMaxListeners: number;
21 }
22
23 import internal = require('events');
24 namespace EventEmitter {
25 // Should just be `export { EventEmitter }`, but that doesn't work in TypeScript 3.4
26 export { internal as EventEmitter };
27 }
28
29 export = EventEmitter;
30}