import { EventHandlerFunction, IEmitAndWaitOptions, IEventManagerOptions, IEventPayload, IListenerOption } from './lib/interfaces';
export declare class EventManager {
    private options;
    constructor(options?: Partial<IEventManagerOptions>);
    private createLogger;
    on(eventName: string, listener: EventHandlerFunction, options?: IListenerOption): Promise<void>;
    emit(eventName: string, payload: IEventPayload): Promise<IEventPayload>;
    emitAndWait(eventName: string, payload: IEventPayload, replyToName?: string, options?: IEmitAndWaitOptions): Promise<IEventPayload>;
    initialize(): Promise<void>;
    close(): Promise<void>;
    private addMetasToPayload;
    private emitResponseIfNeeded;
}
