export interface Listener { (event: T): any; } export interface Disposable { dispose(): any; } /** A type safe event emitter */ export declare class EventEmitter { private listeners; private listenersOncer; on: (listener: Listener) => Disposable; once: (listener: Listener) => void; off: (listener: Listener) => void; emit: (event: T) => void; }