import { StateObject } from "@hpcc-js/util";
import { IConnection, IOptions } from "../connection";
import { EclService, IWsEclRequest, IWsEclResponse, IWsEclResult } from "../services/wsEcl";
import { WorkunitsService, WUQueryDetails } from "../services/wsWorkunits";
export interface QueryEx extends WUQueryDetails.Response {
}
export declare class Query extends StateObject<QueryEx, QueryEx> implements QueryEx {
    protected connection: EclService;
    protected _wsWorkunits: WorkunitsService;
    protected _requestSchema: IWsEclRequest;
    protected _responseSchema: IWsEclResponse;
    readonly properties: WUQueryDetails.Response;
    readonly Exceptions: WUQueryDetails.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: WUQueryDetails.Clusters;
    readonly PublishedBy: string;
    readonly Comment: string;
    readonly LogicalFiles: WUQueryDetails.LogicalFiles;
    readonly SuperFiles: WUQueryDetails.SuperFiles;
    readonly IsLibrary: boolean;
    readonly Priority: string;
    readonly WUSnapShot: string;
    readonly CompileTime: string;
    readonly LibrariesUsed: WUQueryDetails.LibrariesUsed;
    readonly CountGraphs: number;
    readonly ResourceURLCount: number;
    readonly WsEclAddresses: WUQueryDetails.WsEclAddresses;
    readonly WUGraphs: WUQueryDetails.WUGraphs;
    readonly WUTimers: WUQueryDetails.WUTimers;
    private constructor();
    static attach(optsConnection: IOptions | IConnection, querySet: string, queryId: string): Query;
    private fetchRequestSchema;
    private fetchResponseSchema;
    private fetchSchema;
    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