import { Subscription } from 'rxjs/Subscription'; export { Subscription } from 'rxjs/Subscription'; export interface Handler { (...args: any[]): void; } export declare class EventEmitter { private subjects; private subscriptions; constructor(); dispose(): void; addListener(name: string, handler: Handler): void; emit(fnName: string, ...data: any[]): void; listen(name: string, handler: Handler): Subscription; off(name: string, handler: Handler): void; on(name: string, handler: Handler): void; once(name: string, handler: Handler): void; removeListener(name: string, handler: Handler): void; private registerSubscription(name, handler, sub); private getSubscriptions(name, handler); private getSubject(fnName); }