import type { AggregateRoot } from "./aggregate-root"; import type { DomainEventHandler } from "./domain-event"; /** * In-process message bus. */ export declare class DomainEventsBroker { private static eventHandlers; private static aggregatesWithEvents; private static findRegisteredAggregateById; private static unregisterAggregate; private static dispatchEvents; /** * Register event handler for a given event name */ static registerEventHandler(eventName: string, handler: DomainEventHandler): void; /** * Include Aggregate for having its events dispatched when the unit-of-work has * been completed in the infrastructure layer. */ static registerAggregate(aggregate: AggregateRoot): void; static dispatchAggregateEvents(aggregate: AggregateRoot): void; static clearEventHandlers(): void; static clearRegisteredAggregates(): void; } //# sourceMappingURL=domain-events-broker.d.ts.map