import { StateObject, RecursivePartial } from "@hpcc-js/util";
import { IConnection, IOptions } from "../connection";
import { EclService, IWsEclRequest, IWsEclResponse, IWsEclResult } from "../services/wsEcl";
import { WorkunitsService, WsWorkunits } from "../services/wsWorkunits";
import { Topology } from "./topology";
import { IScope } from "./workunit";
import { QueryGraph } from "./queryGraph";
export { QueryGraph };
export interface QueryEx extends WsWorkunits.WUQueryDetailsResponse {
    BaseUrl: string;
}
export declare class Query extends StateObject<QueryEx, QueryEx> implements QueryEx {
    protected wsWorkunitsService: WorkunitsService;
    readonly BaseUrl: string;
    protected topology: Topology;
    protected _requestSchema: IWsEclRequest;
    protected _responseSchema: IWsEclResponse;
    readonly properties: WsWorkunits.WUQueryDetailsResponse;
    readonly Exceptions: WsWorkunits.Exceptions;
    readonly QueryId: string;
    readonly QuerySet: string;
    readonly QueryName: string;
    readonly Wuid: string;
    readonly Dll: string;
    readonly Suspended: boolean;
    readonly Activated: boolean;
    readonly SuspendedBy: string;
    readonly Clusters: WsWorkunits.Clusters2;
    readonly PublishedBy: string;
    readonly Comment: string;
    readonly LogicalFiles: WsWorkunits.LogicalFiles;
    readonly SuperFiles: WsWorkunits.SuperFiles;
    readonly IsLibrary: boolean;
    readonly Priority: string;
    readonly WUSnapShot: string;
    readonly CompileTime: string;
    readonly LibrariesUsed: WsWorkunits.LibrariesUsed;
    readonly CountGraphs: number;
    readonly ResourceURLCount: number;
    readonly WsEclAddresses: WsWorkunits.WsEclAddresses;
    readonly WUGraphs: WsWorkunits.WUGraphs;
    readonly WUTimers: WsWorkunits.WUTimers;
    readonly PriorityID: number;
    private constructor();
    static attach(optsConnection: IOptions | IConnection, querySet: string, queryId: string, state?: QueryEx): Query;
    private _eclService;
    protected wsEclService(): Promise<EclService | undefined>;
    private fetchDetails;
    private fetchRequestSchema;
    private fetchResponseSchema;
    private fetchSchema;
    fetchSummaryStats(): Promise<WsWorkunits.WUQueryGetSummaryStatsResponse>;
    fetchGraph(GraphName?: string, SubGraphId?: string): Promise<QueryGraph>;
    fetchDetailsNormalized(request?: RecursivePartial<WsWorkunits.WUDetails>): Promise<{
        meta: WsWorkunits.WUDetailsMetaResponse | undefined;
        columns: {
            [id: string]: any;
        } | undefined;
        data: IScope[] | undefined;
    }>;
    submit(request: object): Promise<Array<{
        [key: string]: object[];
    }>>;
    refresh(): Promise<this>;
    requestFields(): IWsEclRequest;
    responseFields(): IWsEclResponse;
    resultNames(): string[];
    resultFields(resultName: string): IWsEclResult;
}
//# sourceMappingURL=query.d.ts.map
