import { Happening } from "./HappeningsInfo";
export declare class PlanStep {
    private readonly time;
    readonly fullActionName: string;
    readonly isDurative: boolean;
    private readonly duration;
    readonly lineIndex: number | undefined;
    readonly commitment?: PlanStepCommitment | undefined;
    private readonly iterations?;
    private actionName;
    private objects;
    constructor(time: number, fullActionName: string, isDurative: boolean, duration: number | undefined, lineIndex: number | undefined, commitment?: PlanStepCommitment | undefined, iterations?: number | undefined);
    static clone(planStep: PlanStep): PlanStep;
    getActionName(): string;
    getFullActionName(): string;
    getObjects(): string[];
    getStartTime(): number;
    getEndTime(): number;
    /**
     * @returns end time that makes this plan step effectively durative
     */
    getEffectiveEndTime(): number;
    getDuration(): number | undefined;
    getIterations(): number;
    equals(other: PlanStep, epsilon: number): boolean;
    static equalsWithin(a: number, b: number, epsilon: number): boolean;
    toPddl(): string;
    getHappenings(priorSteps: PlanStep[]): Happening[];
}
export declare enum PlanStepCommitment {
    Committed = "COMMITTED",
    EndsInRelaxedPlan = "ENDS_IN_RELAXED_PLAN",
    StartsInRelaxedPlan = "STARTS_IN_RELAXED_PLAN"
}
