export interface IEventBusPromise extends Promise { on(event: string, cb: Function): any; emit(event: string, ...args: any[]): any; destroy(): any; } export declare const eventBusPromise: (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => IEventBusPromise; export declare class EventBus { constructor(ctx?: any); private _ctx; private _events; on(event: string, cb: Function): this; off(event: string, cb: Function): void; emit(event: string, ...args: any[]): Promise; destroy(): void; }