import { Container, DomainEvent, EventHandler, EventHandlerSpec, Logger, MessageBus } from "../interfaces"; export declare class LazyEventHandler implements EventHandler { private spec; private serviceKey; private container; private messageBus; constructor(spec: EventHandlerSpec, serviceKey: string, container: Container); get eventName(): string; get eventVersion(): number; usingMessageBus(owner: MessageBus): void; handleEvent(event: DomainEvent): Promise; } export declare class LocalMessageBus implements MessageBus { private eventHandlers; private logger; constructor(eventHandlers: EventHandler[], appLogger: Logger); initialize(): Promise; dispose(): Promise; publishEvent(event: DomainEvent): Promise; subscribeToEvent(eventHandler: EventHandler): void; private handlerInfo; unsubscribeFromEvent(eventHandler: EventHandler): void; }