import { RpcBus } from './RpcBus'; import { Reply } from './Reply'; import { Typer } from 'cqes-type'; export interface Buses { [name: string]: RpcBus; } export interface Types { [name: string]: Typer; } export interface props { rpcBuses?: Buses; } export declare function extend(holder: any, props: props): void; export declare class EventEmitter { private listeners; constructor(); bind(name: string, hook: (data: any) => void): void; emit(name: string, data: any): void; listenerCount(name: string): number; on(type: { new (): T; }, hook: (data: T) => any): this; onError(hook: (error: Error) => void): void; onEnd(hook: (reply: Reply) => void): void; expect(event: { new (): T; }): Promise; wait(): Promise; }