import { Command, CommandBusBase, CommandBusOptions } from '..';
import { ResultType } from '../constants';
import { IType } from '../interfaces/type.interface';
export declare function createCommandBus<T extends Capitalize<string>>(name: T, options?: CommandBusOptions): {
    [key in `${Uncapitalize<T>}`]: CommandBusBase;
} & {
    [key in `${T}Handler`]: (command: IType<Command>, resolver?: boolean | CommandBusOptions['injectionResolver']) => ClassDecorator;
} & {
    bind<T extends Command>(command: IType<T>, handler: (command: T) => T[ResultType]): void;
};
