import { Plan, ProblemInfo, DomainInfo, parser, planner } from 'pddl-workspace';
import { PlannerService, ServerRequest, ServerResponse } from './PlannerService';
/** Wraps the `/package/xyz/solve` planning-as-a-service web service interface. */
export declare class PlannerPackagePreviewService extends PlannerService<PackagedServerRequest, PackagedServerResponse> {
    constructor(plannerUrl: string, plannerConfiguration: planner.PlannerRunConfiguration, providerConfiguration: planner.ProviderConfiguration);
    createUrl(): string;
    getTimeout(): number;
    createRequestBody(domainFileInfo: DomainInfo, problemFileInfo: ProblemInfo): Promise<PackagedServerRequest | null>;
    processServerResponseBody(origUrl: string, responseBody: PackagedServerResponse, planParser: parser.PddlPlannerOutputParser, callbacks: planner.PlannerResponseHandler): Promise<Plan[]>;
    checkForResults(origUrl: string, planParser: parser.PddlPlannerOutputParser, callbacks: planner.PlannerResponseHandler): Promise<Plan[]>;
}
export type PackagedServerRequestArgs = {
    [key: string]: number | string | boolean;
};
/** Planner package service request body. */
interface PackagedServerRequest extends ServerRequest {
    domain: string;
    problem: string;
}
/** Planner package service response body. */
interface PackagedServerResponse extends ServerResponse {
    status?: "PENDING" | "error" | "ok";
    result?: CallbackUrl | PackagedServerResponseResult;
    /** @deprecated but populated by the forbid iterative topk planner, when it is missing a mandatory argument*/
    Error: string;
}
/** Used when the planning request was just submitted. */
type CallbackUrl = string;
type PackagedServerResponseResultOutput = {
    [key: string]: string;
};
interface PackagedServerResponseResult {
    output: PackagedServerResponseResultOutput;
    error: string;
    stderr?: string;
    stdout?: string;
}
export {};
