UNPKG

886 BTypeScriptView Raw
1// Type definitions for component-emitter v1.2.1
2// Project: https://www.npmjs.com/package/component-emitter
3// Definitions by: Peter Snider <https://github.com/psnider>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5
6// TypeScript Version: 2.2
7
8interface Emitter<Event = string> {
9 on(event: Event, listener: Function): Emitter;
10 once(event: Event, listener: Function): Emitter;
11 off(event?: Event, listener?: Function): Emitter;
12 emit(event: Event, ...args: any[]): Emitter;
13 listeners(event: Event): Function[];
14 hasListeners(event: Event): boolean;
15 removeListener(event?: Event, listener?: Function): Emitter;
16 removeEventListener(event?: Event, listener?: Function): Emitter;
17 removeAllListeners(event?: Event): Emitter;
18}
19
20declare const Emitter: {
21 (obj?: object): Emitter;
22 new (obj?: object): Emitter;
23};
24
25export = Emitter;