import { IDetachable } from "./IDetachable"; import { IStringDictionary } from "./IDictionary"; import { IEventListener, IEventSource } from "./IEventSource"; import { PlatformEvent } from "./PlatformEvent"; export declare class EventSource implements IEventSource { private eventListeners; private metadata; private isDisposed; constructor(metadata?: IStringDictionary); OnEvent: (event: TEvent) => void; Attach: (onEventCallback: (event: TEvent) => void) => IDetachable; AttachListener: (listener: IEventListener) => IDetachable; IsDisposed: () => boolean; Dispose: () => void; readonly Metadata: IStringDictionary; }