import { PlanStep } from "./PlanStep";
import { Happening } from "./HappeningsInfo";
import { FileInfo } from "./FileInfo";
import { DocumentPositionResolver } from "./DocumentPositionResolver";
import { PddlLanguage } from "./language";
import { URI } from "vscode-uri";
import { ProblemInfo } from "./ProblemInfo";
import { Plan } from "./Plan";
import { DomainInfo } from "./DomainInfo";
/**
 * Plan file.
 */
export declare class PlanInfo extends FileInfo {
    problemName: string;
    domainName: string;
    steps: PlanStep[];
    private _metric;
    private _statesEvaluated;
    constructor(fileUri: URI, version: number, problemName: string, domainName: string, text: string, positionResolver: DocumentPositionResolver);
    getLanguage(): PddlLanguage;
    setSteps(steps: PlanStep[]): void;
    getSteps(): PlanStep[];
    get metric(): number | undefined;
    set metric(metric: number | undefined);
    get statesEvaluated(): number | undefined;
    set statesEvaluated(statesEvaluated: number | undefined);
    isPlan(): boolean;
    static getHappenings(planSteps: PlanStep[]): Happening[];
    getHappenings(): Happening[];
    getPlan(domain: DomainInfo, problem: ProblemInfo): Plan;
}
