import { RouteLeg } from "./route-leg";
import { AgentData, AgentPlanData, RoutingOptions, RoutingOptionsExtended } from "../../../interfaces";
import { RouteAction } from "./route-action";
import { Waypoint } from "./waypoint";
import { RoutePlannerCallOptions } from "../../../interfaces/route-planner-call-options";
import { Violation } from "../../route-editor-exceptions";
export declare class AgentPlan {
    private readonly raw;
    private readonly agentInputData;
    private readonly routingOptions;
    private readonly callOptions;
    private readonly violations;
    constructor(raw: AgentPlanData, agentInputData: AgentData, routingOptions: RoutingOptions, callOptions: RoutePlannerCallOptions, violations: Violation[]);
    getRaw(): AgentPlanData;
    getAgentIndex(): number;
    getAgentId(): string;
    getTime(): number;
    getStartTime(): number;
    getEndTime(): number;
    getDistance(): number;
    getMode(): string;
    getLegs(): RouteLeg[];
    getActions(): RouteAction[];
    getDelays(): RouteAction[];
    getWaypoints(): Waypoint[];
    getPlannedShipments(): number[];
    getPlannedJobs(): number[];
    getAgentInputData(): AgentData | undefined;
    containsShipment(shipmentIdOrIndex: string | number): boolean;
    containsJob(jonIdOrIndex: string | number): boolean;
    getViolations(): Violation[];
    /**
     * Retrieves the route for a specific agent.
     * @param agentIdOrIndex - The ID or index of the agent.
     * @param options - The routing options.
     */
    getRoute(routingOptions?: RoutingOptionsExtended): Promise<any | undefined>;
    private constructRoutingRequest;
}
