/**
 * 负载均衡工具，用于从主注册中心拉取微服务主机列表
 * @author wufenglin@rd.keytop.com.cn
 * @date 2010-08-04
 */
export declare class MsLoadBalanceUtils {
    /**
     * 负载均衡缓存
     */
    private loadBalanceMap;
    /**
     * 获取负载均衡信息
     * @param pid  项目ID
     * @param version 版本号
     * @param reload 是否需要重新加载
     */
    getLoadBalance(pid: String, version: String, reload: Boolean): Promise<SideCarLoadBalance | undefined>;
    /**
     * 更新缓存
     */
    updateCache(): Promise<void>;
    /**
     * http请求获取负载均衡列表
     * @param pid    项目ID
     * @param version 版本号
     */
    httpGetLoadBalance(pid: String, version: String): Promise<SideCarLoadBalance | undefined>;
    private sign;
}
export declare class SideCarLoadBalance {
    index: number;
    /**
     * 项目ID
     */
    pid?: String;
    /**
     * 版本号
     */
    version?: String;
    /**
     * 上下文地址
     */
    contextPath?: String;
    /**
     * 运行服务信息
     */
    msRunning?: MsRunning;
    /**
     * 主机列表
     */
    targetList?: Array<MsRunningTarget>;
    constructor(msRunning: MsRunning);
    /**
     * 获取负载均衡主机
     */
    getTarget(): MsRunningTarget | undefined;
}
export declare class MsRunning {
    id?: String;
    pid?: String;
    projectName?: String;
    projectVersion?: String;
    revised?: String;
    port?: String;
    contextPath?: String;
    containerType?: String;
    authType?: String;
    enabled?: Boolean;
    env?: String;
    envCode?: String;
    appCode?: String;
    appName?: String;
    serviceCenterCode?: String;
    serviceCenterName?: String;
    serviceType?: number;
}
export declare class MsRunningTarget {
    id?: String;
    pid?: String;
    projectVersion?: String;
    msLocation?: String;
    gatewayUrl?: String;
    gatewayInsideUrl?: String;
    gatewayAdminUrl?: String;
    host?: String;
    port?: Number;
    weight?: String;
    projectId?: String;
    contextPath?: String;
    projectName?: String;
    enabled?: Boolean;
    env?: String;
    envCode?: String;
    deployId?: String;
    podId?: String;
}
