import { ChainableCommandMiddleware, CommandMiddleware } from './CommandMiddleware';
import { EventBus } from '../../eventBus/types/EventBus';
import { Command } from '../types/Command';
import { CommandResponse } from '../types/CommandResponse';
export declare class EventDispatcherMiddleware<RESULT> implements CommandMiddleware<RESULT> {
    private eventBus;
    private next;
    private constructor();
    static build<RESULT>(eventBus: EventBus): ChainableCommandMiddleware<RESULT, EventDispatcherMiddleware<RESULT>>;
    handle(command: Command<RESULT>): Promise<CommandResponse<RESULT>>;
}
