import { DomainEvent } from './types/DomainEvent';
import { EventBus, EventHandlers } from './types/EventBus';
import { EventBusMiddleware } from './middlewares/EventBusMiddleware';
import { BusLogger } from '../common/BusLogger';
export declare class InternalEventBus implements EventBus {
    private logger;
    private eventMiddlewares;
    private eventHandlers;
    constructor(logger: BusLogger, eventMiddlewares: EventBusMiddleware[], eventHandlers: EventHandlers);
    publish(events: ReadonlyArray<DomainEvent>): void;
    private logOnSuccess;
    private logOnError;
}
