import { Type } from '@angular/core'; import { NgModuleRef } from '@angular/core'; import 'reflect-metadata'; import { ICommand, ICommandBus, ICommandHandler, ICommandPublisher } from './interfaces/index'; import { ObservableBus } from './utils/observable-bus'; import * as i0 from "@angular/core"; export declare type CommandHandlerType = Type>; export declare class CommandBus extends ObservableBus implements ICommandBus { private readonly moduleRef; private handlers; private _publisher; constructor(moduleRef: NgModuleRef); get publisher(): ICommandPublisher; set publisher(_publisher: ICommandPublisher); execute(command: T): Promise; bind(handler: ICommandHandler, id: string): void; register(handlers?: CommandHandlerType[]): void; protected registerHandler(handler: CommandHandlerType): void; private getCommandId; private reflectCommandId; private useDefaultPublisher; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }