import { Agent, RoutePlannerInputData, TravelMode, Job, Shipment, Location, Avoid, TrafficType, DistanceUnitType, RouteType } from "./models";
import { RoutePlannerOptions } from "./models/interfaces/route-planner-options";
import { RoutePlannerResult } from "./models/entities/route-planner-result";
export declare class RoutePlanner {
    private raw;
    private options;
    constructor(options: RoutePlannerOptions, raw?: RoutePlannerInputData);
    getRaw(): RoutePlannerInputData;
    setRaw(value: RoutePlannerInputData): this;
    setMode(mode: TravelMode): this;
    addAgent(agent: Agent): this;
    addJob(job: Job): this;
    addLocation(location: Location): this;
    addShipment(shipment: Shipment): this;
    addAvoid(avoid: Avoid): this;
    setTraffic(traffic: TrafficType): this;
    setType(type: RouteType): this;
    setMaxSpeed(max_speed: number): this;
    setUnits(units: DistanceUnitType): this;
    plan(): Promise<RoutePlannerResult>;
}
