UNPKG

birch-event-emitter

Version:
28 lines (27 loc) 773 B
declare type Disposer = () => void; declare type Listener = (...args: any[]) => any; export interface IDisposable { dispose(...args: any[]): any; } export declare class Disposable { private disposer; constructor(disposer: Disposer); dispose(...args: any[]): void; } export declare class DisposablesComposite { private disposables; constructor(); add(disposable: any): any; dispose(...args: any[]): void; } export declare class EventEmitter<T> { private listeners; private onceListeners; constructor(); emit(event: T, ...args: any[]): void; on(event: T, cb: Listener): Disposable; once(event: T, cb: Listener): Disposable; emitWithReturn<K>(event: T, ...args: any[]): K[]; clear(event?: T): void; } export {};