import { RoutePlannerResult } from "../../models/entities/route-planner-result";
import { AgentSolution } from "../../models";
import { OptimizeAgentInput } from "./optimize-agent-input";
export declare class RouteResultEditorBase {
    protected readonly result: RoutePlannerResult;
    constructor(result: RoutePlannerResult);
    protected optimizeRoute(optimizeAgentInput: OptimizeAgentInput): Promise<RoutePlannerResult>;
    protected updateAgent(newResult: RoutePlannerResult): void;
    protected generateOptimizeAgentInput(agentId: string, existingAgent?: AgentSolution): OptimizeAgentInput;
    protected checkIfArrayIsUnique(myArray: any[]): boolean;
    protected getInitialAgentIndex(agentId: string): number;
    protected getInitialJobIndex(jobId: string): number;
    protected getInitialShipmentIndex(shipmentId: string): number;
    protected validateAgent(agentId: string): void;
    private updateUnassignedItems;
    private updateUnassignedAgents;
    private updateUnassignedJobs;
    private updateUnassignedShipments;
    private getUnassignedJobs;
    private getUnassignedShipments;
}
