export interface Listener { (event: T): void; } export interface Disposable { dispose: () => void; } /** passes through events as they happen. You will not get events from before you start listening */ export declare class EventEmitter { private listeners; on: (listener: Listener) => Disposable; off: (listener: Listener) => void; emit: (event: T) => void; }