import { AbstractBroker, ConfigResolver } from './AbstractBroker';
import { IConfiguration } from '../server';
export declare abstract class BrokerBuilder<T extends AbstractBroker<TConfig>, TConfig> {
    private cfg;
    protected broker: T;
    protected constructor(cfg: IConfiguration);
    withConfigResolver(configResolver: ConfigResolver<TConfig>): BrokerBuilder<T, TConfig>;
    withConfig(config: TConfig): BrokerBuilder<T, TConfig>;
    named(name: string): BrokerBuilder<T, TConfig>;
    withTimeout(timeout: number): BrokerBuilder<T, TConfig>;
    getBroker(): T;
}
