import { XMLNode } from "@hpcc-js/util";
import { WsWorkunits, WorkunitsServiceBase } from "./wsdl/WsWorkunits/v2.04/WsWorkunits.ts";
import { IConnection, IOptions } from "../connection.ts";
export { WsWorkunits };
export declare enum WUStateID {
    Unknown = 0,
    Compiled = 1,
    Running = 2,
    Completed = 3,
    Failed = 4,
    Archived = 5,
    Aborting = 6,
    Aborted = 7,
    Blocked = 8,
    Submitted = 9,
    Scheduled = 10,
    Compiling = 11,
    Wait = 12,
    UploadingFiled = 13,
    DebugPaused = 14,
    DebugRunning = 15,
    Paused = 16,
    LAST = 17,
    NotFound = 999
}
export declare namespace WUUpdate {
    enum Action {
        Unknown = 0,
        Compile = 1,
        Check = 2,
        Run = 3,
        ExecuteExisting = 4,
        Pause = 5,
        PauseNow = 6,
        Resume = 7,
        Debug = 8,
        __size = 9
    }
}
export declare function isECLResult(_: any): _ is WsWorkunits.ECLResult;
export declare function isWUQueryECLWorkunit(_: WsWorkunits.ECLWorkunit | WsWorkunits.Workunit): _ is WsWorkunits.ECLWorkunit;
export declare function isWUInfoWorkunit(_: WsWorkunits.ECLWorkunit | WsWorkunits.Workunit): _ is WsWorkunits.Workunit;
export declare class WorkunitsService extends WorkunitsServiceBase {
    constructor(optsConnection: IOptions | IConnection);
    Ping(): Promise<WsWorkunits.WsWorkunitsPingResponse>;
    WUQuery(request?: Partial<WsWorkunits.WUQuery>, abortSignal?: AbortSignal): Promise<WsWorkunits.WUQueryResponse>;
    WUInfo(_request: Partial<WsWorkunits.WUInfo>): Promise<WsWorkunits.WUInfoResponse>;
    WUCreate(): Promise<WsWorkunits.WUCreateResponse>;
    WUUpdate(request: Partial<WsWorkunits.WUUpdate>): Promise<WsWorkunits.WUUpdateResponse>;
    WUResubmit(request: WsWorkunits.WUResubmit): Promise<WsWorkunits.WUResubmitResponse>;
    WUAction(request: Partial<WsWorkunits.WUAction>): Promise<WsWorkunits.WUActionResponse>;
    WUResult(request: Partial<WsWorkunits.WUResult>, abortSignal?: AbortSignal): Promise<WsWorkunits.WUResultResponse>;
    WUFileEx(request: Partial<WsWorkunits.WUFile>): Promise<string>;
    private _WUDetailsMetaPromise;
    WUDetailsMeta(request: WsWorkunits.WUDetailsMeta): Promise<WsWorkunits.WUDetailsMetaResponse>;
    WUCDebugEx(request: WsWorkunits.WUCDebug): Promise<XMLNode | null>;
}
export declare class WorkunitsServiceEx extends WorkunitsServiceBase {
    WUPublishWorkunitEx(request: Partial<WsWorkunits.WUPublishWorkunit>): Promise<WsWorkunits.WUPublishWorkunitResponse>;
}
