import { ILoadbalance, IServer, ILoadbalancer, IService } from '@nestcloud/common';
import { IRuleOptions } from './interfaces/rule-options.interface';
export declare class Loadbalance implements ILoadbalance {
    private readonly service;
    private readonly loadbalancers;
    private rules;
    private globalRuleCls;
    private readonly customRulePath;
    private timer;
    constructor(service: IService, customRulePath: string);
    init(rules: IRuleOptions[], globalRuleCls: any): Promise<void>;
    chooseLoadbalancer(serviceName: string): ILoadbalancer;
    choose(serviceName: string): IServer;
    state(): {
        [service: string]: IServer[];
    };
    private updateServices;
    private createServiceWatcher;
    private createLoadbalancer;
    private pingServers;
}
