import { StateCallback, StateEvents, StateObject, StatePropCallback } from "@hpcc-js/util";
import { IConnection, IOptions } from "../connection";
import { TopologyService, TpTargetClusterQuery } from "../services/wsTopology";
import { TargetCluster } from "./targetCluster";
export interface TopologyStateEx {
    TargetClusters: TpTargetClusterQuery.TpTargetCluster[];
}
export declare class Topology extends StateObject<TopologyStateEx, TopologyStateEx> implements TopologyStateEx {
    protected connection: TopologyService;
    readonly properties: TopologyStateEx;
    readonly TargetClusters: TpTargetClusterQuery.TpTargetCluster[];
    readonly CTargetClusters: TargetCluster[];
    constructor(optsConnection: IOptions | IConnection | TopologyService);
    GetESPServiceBaseURL(type?: string): Promise<string>;
    fetchTargetClusters(): Promise<TargetCluster[]>;
    refresh(): Promise<this>;
    on(eventID: StateEvents, propIDorCallback: StateCallback | keyof TopologyStateEx, callback?: StatePropCallback): this;
}
//# sourceMappingURL=topology.d.ts.map