export interface Listener { (event: T): void; } export interface Disposable { dispose(): void; } export declare class TypedEvent { private listeners; private listenersOncer; on: (listener: Listener) => Disposable; once: (listener: Listener) => void; off: (listener: Listener) => void; offAll: () => void; emit: (event: T) => void; pipe: (te: TypedEvent) => Disposable; }