UNPKG

@geoapify/route-planner-sdk

Version:

TypeScript SDK for the Geoapify Route Planner API. Supports route optimization, delivery planning, and timeline visualization in browser and Node.js

32 lines (31 loc) 1.89 kB
import { JobData, ShipmentData } from "../../../../models"; import { RouteResultEditorBase } from "../../route-result-editor-base"; type ItemWithRequirements = { requirements?: string[]; }; type AgentWithTimeWindows = { time_windows?: [number, number][]; }; /** * Shared helper for managing requirements on jobs and shipments */ export declare class RequirementHelper { static readonly UNASSIGNED_REQ = "unassigned"; static readonly ASSIGN_AGENT_PREFIX = "assign-agent-"; static readonly NON_ASSIGNABLE_REQUIREMENT = "NON_ASSIGNABLE"; static createAssignAgentRequirement(agentIndex: number): string; static ensureRequirementsArray(item: ItemWithRequirements): void; static addRequirement(requirements: string[], req: string): void; static removeRequirement(requirements: string[], req: string): void; static markAsUnassigned(item: ItemWithRequirements): void; static assignToAgent(item: ItemWithRequirements, agentIndex: number): void; static markItemsAsUnassigned<T extends ItemWithRequirements>(items: T[], indexes: number[]): void; static assignItemsToAgent<T extends ItemWithRequirements>(items: T[], indexes: number[], agentIndex: number): void; static markExistingUnassignedJobs(context: RouteResultEditorBase, jobs: JobData[]): void; static markExistingUnassignedShipments(context: RouteResultEditorBase, shipments: ShipmentData[]): void; static markRemainingJobsWithAgentRequirement(context: RouteResultEditorBase, jobs: JobData[], excludeIndexes: number[]): void; static markRemainingShipmentsWithAgentRequirement(context: RouteResultEditorBase, shipments: ShipmentData[], excludeIndexes: number[]): void; static extendAgentTimeWindows(agent: AgentWithTimeWindows): void; static restrictAssignmentsToTargetSet<T extends ItemWithRequirements>(items: T[], targetIndexes: Set<number>): void; } export {};