declare type Fn = (data?: any) => void; interface Event { key: number; callback: Fn; } interface PublishedEvents { name: string; data?: any; } export declare class EventManager { _events: { [key: string]: Event[]; }; _publishedEvents: PublishedEvents[]; _uniqueId: number; subscribe(name: string, callback: Fn): number; publish(name: string, data?: any): void; unSubscribe(name: string, key: number): void; ensureTriggeredAndSubscribe(name: string, callback: Fn): number; } export {};