import { JobData, ShipmentData, ShipmentStepData } from "../../../../../models";
import { RouteResultEditorBase } from "../../../route-result-editor-base";
export interface WaypointLocationSourceData {
    location: [number, number];
    locationIndex?: number;
    locationId?: string;
}
/**
 * Helper for route editing: create actions, retrieve job/shipment data, remove items from agents
 */
export declare class RouteEditorHelper {
    static createJobAction(context: RouteResultEditorBase, jobIndex: number, waypointIndex: number): any;
    static createShipmentAction(context: RouteResultEditorBase, shipmentIndex: number, type: 'pickup' | 'delivery', waypointIndex: number): any;
    static getJobByIndex(context: RouteResultEditorBase, jobIndex: number): JobData;
    static getShipmentByIndex(context: RouteResultEditorBase, shipmentIndex: number): ShipmentData;
    static resolveShipmentStepLocation(context: RouteResultEditorBase, step: ShipmentStepData): [number, number];
    static resolveShipmentStepWaypointLocationData(context: RouteResultEditorBase, step: ShipmentStepData): WaypointLocationSourceData;
    static resolveJobLocation(context: RouteResultEditorBase, job: JobData): [number, number];
    static resolveJobWaypointLocationData(context: RouteResultEditorBase, job: JobData): WaypointLocationSourceData;
}
