import type { DynamicModule, OnApplicationBootstrap } from '@nestjs/common';
import type { ICqrsModuleAsyncOptions, ICqrsModuleSyncOptions } from './interface';
import { CommandBus, EventBus, ExplorerService, PubSubEventBinder, QueryBus } from './service';
export declare class CqrsModule implements OnApplicationBootstrap {
    private readonly queryBus;
    private readonly eventsBus;
    private readonly commandsBus;
    private readonly explorerService;
    private readonly pubSubEventBinder;
    constructor(queryBus: QueryBus, eventsBus: EventBus, commandsBus: CommandBus, explorerService: ExplorerService, pubSubEventBinder: PubSubEventBinder);
    static forRoot(options: ICqrsModuleSyncOptions): DynamicModule;
    static forRootAsync(options: ICqrsModuleAsyncOptions): DynamicModule;
    onApplicationBootstrap(): Promise<void>;
}
