export interface IEventSource { on(handler: EventHandler): IEventSubscription; } export interface IEventSubscription { unsubscribe(): void; } export type EventHandler = (data: T) => void;