import { Command, Event } from '@we-scrum/core'; import { CommandHandler } from './command-handler'; import { Context } from './context'; import { EventHandler } from './event-handler'; import { ExecutionMode } from './execution-mode-enum'; import { Projection } from './projection'; export declare class Bus { private projections; private commandHandlers; private eventHandlers; send(command: Command, context: Context): Promise; publish(event: Event, mode: ExecutionMode, context: Context): Promise; onCommand(commandType: new () => Command, handler: CommandHandler): void; onEvent(eventType: new () => Event, handler: EventHandler, mode: ExecutionMode): void; onProjection(projection: Projection): void; private getDictionaryKey; }