import { AddAssignOptions } from "../../../../models";
import { AssignStrategy } from "../base";
import { RouteResultEditorBase } from "../../route-result-editor-base";
/**
 * Strategy that inserts shipments while preserving the order of existing stops.
 * Considers pickup-delivery constraints (pickup must come before delivery).
 *
 * Behavior:
 * - append: true → Appends pickup and delivery to end of route (no API call)
 * - afterId/insertAtIndex → Inserts at specified position (no API call)
 * - No position params → Uses Route Matrix API to find optimal insertion points
 */
export declare class ShipmentAssignPreserveOrderStrategy implements AssignStrategy {
    execute(context: RouteResultEditorBase, agentIndex: number, shipmentIndexes: number[], options: AddAssignOptions): Promise<boolean>;
    private removeShipmentsFromCurrentAgents;
}
