import { ContainerBuilder, type ClassOrFactory } from 'di0'; import { type IAggregateConstructor, type ICommandHandler, type IContainer, type IEventReceptor, type IProjection, type ISagaConstructor } from './interfaces/index.ts'; export declare class CqrsContainerBuilder extends ContainerBuilder { constructor(options?: ConstructorParameters[0]); /** Register command handler, which will be subscribed to commandBus upon instance creation */ registerCommandHandler(typeOrFactory: ClassOrFactory): import("di0").TypeConfig; /** Register event receptor, which will be subscribed to eventStore upon instance creation */ registerEventReceptor(typeOrFactory: ClassOrFactory): import("di0").TypeConfig; /** * Register projection, which will expose view and will be subscribed * to eventStore and will restore its state upon instance creation */ registerProjection(typeOrFactory: ClassOrFactory, TContainerInterface>, exposedViewAlias?: keyof TContainerInterface): import("di0").TypeConfig, TContainerInterface>; /** Register aggregate type in the container */ registerAggregate(AggregateType: IAggregateConstructor): import("di0").TypeConfig; /** Register saga type in the container */ registerSaga(SagaType: ISagaConstructor): import("di0").TypeConfig; }