export interface IDisposable { dispose(subscriber: object): void; } export interface IEmitable { post(tokenValue: string, eventName: string, eventArgs: any): void; on(tokenValue: string, handler: (value: any) => void): IDisposable; once(tokenValue: string, handler: (value: any) => void): IDisposable; }