import { IDetachable } from "./IDetachable"; import { IStringDictionary } from "./IDictionary"; import { IEventListener, IEventSource } from "./IEventSource"; import { PlatformEvent } from "./PlatformEvent"; export declare class EventSource implements IEventSource { private privEventListeners; private privMetadata; private privIsDisposed; constructor(metadata?: IStringDictionary); onEvent: (event: TEvent) => void; attach: (onEventCallback: (event: TEvent) => void) => IDetachable; attachListener: (listener: IEventListener) => IDetachable; isDisposed: () => boolean; dispose: () => void; readonly metadata: IStringDictionary; }