@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
642 lines (640 loc) • 36.6 kB
TypeScript
import type Collection from "../../core/Collection.js";
import type SpatialReference from "../../geometry/SpatialReference.js";
import type LocateSettings from "./LocateSettings.js";
import type PointBarrier from "./PointBarrier.js";
import type PolygonBarrier from "./PolygonBarrier.js";
import type PolylineBarrier from "./PolylineBarrier.js";
import type Stop from "./Stop.js";
import type TravelMode from "./TravelMode.js";
import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { AttributeParameterValue, DirectionsDetail, DirectionsStyleName, LengthUnit, NetworkDate, NetworkInput, OutputLine, UTurnRestriction } from "./types.js";
import type { LocateSettingsProperties } from "./LocateSettings.js";
import type { SpatialReferenceProperties } from "../../geometry/SpatialReference.js";
import type { TravelModeProperties } from "./TravelMode.js";
export interface RouteParametersProperties extends Partial<Pick<RouteParameters, "accumulateAttributes" | "apiKey" | "attributeParameterValues" | "directionsLanguage" | "directionsLengthUnits" | "directionsOutputType" | "directionsStyleName" | "directionsTimeAttribute" | "findBestSequence" | "geometryPrecision" | "geometryPrecisionM" | "geometryPrecisionZ" | "ignoreInvalidLocations" | "impedanceAttribute" | "outputGeometryPrecision" | "outputGeometryPrecisionUnits" | "outputLines" | "overrides" | "pointBarriers" | "polygonBarriers" | "polylineBarriers" | "preserveFirstStop" | "preserveLastStop" | "preserveObjectID" | "restrictionAttributes" | "restrictUTurns" | "returnBarriers" | "returnDirections" | "returnEmptyResults" | "returnPolygonBarriers" | "returnPolylineBarriers" | "returnRoutes" | "returnStops" | "returnTraversedEdges" | "returnTraversedJunctions" | "returnTraversedTurns" | "returnZ" | "startTime" | "startTimeIsUTC" | "stops" | "timeWindowsAreUTC" | "useHierarchy" | "useTimeWindows">> {
/**
* This property specifies settings that affect how inputs are located, such as the maximum search distance to use
* when locating the inputs on the network or the network sources being used for locating. To restrict locating on a
* portion of the source, you can specify a where clause for a source.
*
* @since 5.0
* @see [locateSettings](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#locatesettings)
*/
locateSettings?: LocateSettingsProperties | null;
/**
* Use this property to specify the spatial reference of the geometries, such as line or point features, returned by
* a solve operation.
*
* @see [outSR](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#outsr)
*/
outSpatialReference?: SpatialReferenceProperties | null;
/**
* A travel mode represents a means of transportation, such as driving or walking. Travel modes define the physical
* characteristics of a vehicle or pedestrian.
*
* Use [fetchServiceDescription()](https://developers.arcgis.com/javascript/latest/references/core/rest/networkService/#fetchServiceDescription) to
* obtain a list of predefined travel modes and the default travel mode that is used if one is not specified in a
* routing reqest.
*
* @see [Introduction to travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm)
* @see [Default travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm#GUID-96DF7F50-E0B2-4BF3-8271-EB515D3F0107)
* @see [travelMode](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#travelmode)
* @example
* // Display the fastest walking time route between two existing graphics.
* const apiKey = "<your-api-key>";
* const url = "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
*
* // Obtain the routing service's description. The description contains all preset travel modes.
* const serviceDescription = await networkService.fetchServiceDescription(url, apiKey);
*
* // Find the named travel mode called "Walking Time".
* const { supportedTravelModes } = serviceDescription;
* const travelMode = supportedTravelModes.find((mode) => mode.name === "Walking Time");
*
* // Construct the route parameter object.
* const routeParameters = new RouteParameters({
* apiKey,
* stops: new FeatureSet({
* features: view.graphics.toArray()
* }),
* returnDirections: true,
* travelMode
* });
*
* // Solve the route and add the path representing the fastest walk path to the map.
* const routeContainer = await route.solve(url, routeParameters);
* for (const routeResult of routeContainer.routeResults) {
* const { routeLayer } = routeResult;
* routeLayer.symbol = {
* type: "simple-line",
* color: [5, 150, 255],
* width: 3
* };
* view.graphics.add(routeLayer);
* }
*/
travelMode?: TravelModeProperties | null;
}
/**
* Input parameters for [route](https://developers.arcgis.com/javascript/latest/references/core/rest/route/). Specifies details such as
* stop locations, barrier locations, the impedance attribute, etc.
*
* @since 4.20
* @see [route](https://developers.arcgis.com/javascript/latest/references/core/rest/route/)
* @see [RouteResult](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteResult/)
* @see [Find routes and directions](https://developers.arcgis.com/documentation/mapping-apis-and-services/routing/)
*/
export default class RouteParameters extends RouteParametersSuperclass {
constructor(properties?: RouteParametersProperties);
/**
* Use this property to specify whether the operation should accumulate values other than the value specified for
* [impedanceAttribute](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#impedanceAttribute). For example, if your impedanceAttribute is set to `TravelTime`, the total
* travel time for the route will be calculated by the operation. However, if you also want to calculate the total
* distance of the route in miles, you can specify `Miles` as the value for the accumulateAttributes property.
*
* Known Value |
* ------------|
* kilometers |
* miles |
* meters |
* minutes |
* time-at-1kph
* travel-time |
* truck-minutes |
* truck-travel-time |
* walk-time |
*
* @see [Network attributes](https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/what-are-network-attributes-.htm)
* @see [accumulateAttributeNames](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#accumulateattributenames)
*/
accessor accumulateAttributes: string[] | null | undefined;
/**
* An authorization string used to access a resource or service.
* [API keys](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/) are generated and managed in the
* portal. An API key is tied explicitly to an ArcGIS account; it is also used to
* monitor service usage. Setting a fine-grained API key on a specific class overrides the
* [global API key](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-apiKey).
*
* @see [API keys](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/)
* @see [Display a map tutorial - get an access token](https://developers.arcgis.com/javascript/latest/display-a-map/#get-an-access-token)
* @example
* const stops = new FeatureSet({
* features: [
* new Graphic({
* geometry: new Point({
* x: -117.1949676,
* y: 34.0571844
* })
* }),
* new Graphic({
* geometry: new Point({
* x: -117.0619917,
* y: 34.0010284
* })
* })
* ]
* });
*
* const routeParameters = new RouteParameters({
* apiKey: "YOUR_API_KEY",
* stops
* });
*
* const routeURL = "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
*
* const routeContainer = await route.solve(routeURL, routeParameters);
* const routeLayer = routeContainer.routeResults[0].route;
*
* const { attributes, geometry } = routeLayer;
* view.graphics.add(new Graphic({
* attributes,
* geometry,
* symbol: {
* type: "simple-line",
* color: "green",
* width: "8px"
* }
* }));
*/
accessor apiKey: string | null | undefined;
/**
* Use this property to specify additional values required by an attribute or restriction, such as to specify
* whether the restriction prohibits, avoids, or prefers travel on restricted roads. If the restriction is meant to
* avoid or prefer roads, you can further specify the degree to which they are avoided or preferred using this
* property. For example, you can choose to never use toll roads, avoid them as much as possible, or prefer them.
*
* @see [attributeParameterValues](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#attributeparametervalues)
*/
accessor attributeParameterValues: AttributeParameterValue[] | null | undefined;
/**
* The language that will be used when generating travel directions. This parameter applies only when the
* [returnDirections](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#returnDirections) parameter is set to `true`. The service supports generating directions in
* the following languages: `ar`, `bg`, `bs`, `ca`, `cs`, `da`, `de`, `el`, `en`, `es`, `et`, `fi`, `fr`, `he`, `hr`,
* `hu`, `id`, `it`, `ja`, `ko`, `lt`, `lv`, `nb`, `nl`, `pl`, `pt-BR`, `pt-PT`, `ro`, `ru`, `sk`, `sl`, `sr`, `sv`,
* `th`, `tr`, `uk`, `vi`, `zh-CN`, `zh-HK` and `zh-TW`.
*
* @see [directionsLanguage](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#directionslanguage)
*/
accessor directionsLanguage: string | null | undefined;
/**
* Specify the units for displaying travel distance in the driving directions. This property applies only when the
* [returnDirections](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#returnDirections) property is set to `true`.
*
* @see [directionsLengthUnits](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#directionslengthunits)
*/
directionsLengthUnits?: LengthUnit | null;
/**
* Define the content and verbosity of the driving directions. This property applies only when the
* [returnDirections](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#returnDirections) property is set to `true`.
*
* @see [directionsOutputType](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#directionsoutputtype)
*/
directionsOutputType?: DirectionsDetail | null;
/**
* Specify the name of the formatting style for the directions. This property applies only when the
* [returnDirections](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#returnDirections) property is set to `true`.
*
* @see [directionsStyleName](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#directionsstylename)
*/
directionsStyleName?: DirectionsStyleName | null;
/**
* Set the time-based impedance attribute to display the duration of a maneuver, such as "Go northwest on Alvorado
* St. for 5 minutes." The units for all the time attributes is minutes.
*
* Known Value |
* ------------|
* minutes |
* time-at-1-kph |
* travel-time |
* truck-minutes |
* truck-travel-time |
* walk-time
*
* @see [directionsTimeAttributeName](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#directionstimeattributename)
*/
directionsTimeAttribute?: string | null;
/**
* Use this property to specify whether the operation should reorder stops to find the optimized route. If the
* property value is `false`, the operation returns a route that visits stops in the order you define. If the
* parameter value is `true`, the operation finds the best order to visit the stops. The operation will account for a
* variety of variables so that the total travel distance or travel time for the route is minimized. You can elect to
* preserve the origin and the destination stops while allowing the operation to reorder intermediary stops by
* setting the [preserveFirstStop](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#preserveFirstStop) and [preserveLastStop](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#preserveLastStop) properties.
*
* @see [findBestSequence](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#findbestsequence)
*/
accessor findBestSequence: boolean | null | undefined;
/**
* Use this property to specify the number of decimal places in the response geometries returned by solve operation.
* This applies to x- and y-values only (not m- or z-values).
*
* @since 4.24
* @see [geometryPrecision](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#geometryprecision)
*/
accessor geometryPrecision: number | null | undefined;
/**
* Use this property to specify the number of decimal places in the response geometries returned by solve operation.
* This applies to m-value only (not x-,y- or z-values).
*
* @since 4.24
* @see [geometryPrecisionM](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#geometryprecisionm)
*/
accessor geometryPrecisionM: number | null | undefined;
/**
* Use this property to specify the number of decimal places in the response geometries returned by a solve operation.
* This applies to z-value only (not x-,y- or m-values).
*
* @since 4.24
* @see [geometryPrecisionZ](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#geometryprecisionz)
*/
accessor geometryPrecisionZ: number | null | undefined;
/**
* Specify whether invalid input locations should be ignored when finding the best solution. An input point is deemed
* invalid by the operation if it is not within the maximum snap tolerance of any traversable street. When `true`
* invalid points are ignored. When `false` any invalid point in your request will cause the operation to return a failure.
*
* @see [ignoreInvalidLocations](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#ignoreinvalidlocations)
*/
accessor ignoreInvalidLocations: boolean | null | undefined;
/**
* Specifies the impedance.
*
* Impedance is a value that quantifies travel along the transportation network. Travel distance is an example of
* impedance; it quantifies the length of walkways and road segments. Similarly, drive time—the typical time it takes
* to drive a car along a road segment—is an example of impedance. This property will be ignored if
* [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode) is set.
*
* Known Value |
* ------------|
* kilometers |
* miles |
* meters |
* minutes |
* time-at-1kph
* travel-time |
* truck-minutes |
* truck-travel-time |
* walk-time |
*
* @see [impedanceAttributeName](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#impedanceattributename)
*/
impedanceAttribute?: string | null;
/**
* This property specifies settings that affect how inputs are located, such as the maximum search distance to use
* when locating the inputs on the network or the network sources being used for locating. To restrict locating on a
* portion of the source, you can specify a where clause for a source.
*
* @since 5.0
* @see [locateSettings](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#locatesettings)
*/
get locateSettings(): LocateSettings | null | undefined;
set locateSettings(value: LocateSettingsProperties | null | undefined);
/**
* Use this property to specify by how much you want to simplify the route geometry returned by the operation.
* Simplification maintains critical points on a route, such as turns at intersections, to define the essential shape
* of the route and removes other points. The value of this property, regardless of whether you rely on the default
* or explicitly set a value, is overridden when you pass in [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode).
*
* The units are specified with the [outputGeometryPrecisionUnits](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#outputGeometryPrecisionUnits) parameter.
*
* @see [outputGeometryPrecision](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#outputgeometryprecision)
*/
accessor outputGeometryPrecision: number | null | undefined;
/**
* Use this property to specify the units for the value specified for the
* [outputGeometryPrecision](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#outputGeometryPrecision) parameter. The value of this parameter, regardless of whether
* you rely on the default or explicitly set a value, is overridden when you pass in [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode).
*
* @see [outputGeometryPrecisionUnits](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#outputgeometryprecisionunits)
*/
outputGeometryPrecisionUnits?: LengthUnit | null;
/**
* Use this property to specify the type of route features that are output by the operation. This parameter is
* applicable only if the [returnRoutes](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#returnRoutes) parameter is set to `true`.
*
* Possible Value | Description
* ------------------------|------------------------
* none | Do not return any shapes for the routes.
* straight | Return a straight line between the stops.
* true-shape | Return the exact shape of the resulting route that is based on the underlying streets.
* true-shape-with-measure | Return the exact shape of the resulting route that is based on the underlying streets and include route measurements that keep track of the cumulative travel time or travel distance along the route relative to the first stop.
*
* @default "true-shape"
* @see [outputLines](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#outputlines)
*/
outputLines?: OutputLine | null;
/**
* Use this property to specify the spatial reference of the geometries, such as line or point features, returned by
* a solve operation.
*
* @see [outSR](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#outsr)
*/
get outSpatialReference(): SpatialReference | null | undefined;
set outSpatialReference(value: SpatialReferenceProperties | null | undefined);
/**
* Specify additional settings that can influence the behavior of the solver when finding solutions for the network
* analysis problems.
*
* @since 4.24
* @see [overrides](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services.htm#overrides)
*/
accessor overrides: Record<string, number | boolean | string> | null | undefined;
/**
* Use this property to specify one or more points that will act as temporary restrictions or represent additional
* time or distance that may be required to travel on the underlying streets. For example, a point barrier can be
* used to represent a fallen tree along a street or a time delay spent at a railroad crossing.
*
* @see [barriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#barriers)
*/
accessor pointBarriers: (NetworkInput | Collection<PointBarrier>) | null | undefined;
/**
* Use this property to specify polygons that either completely restrict travel or proportionately scale the time or
* distance required to travel on the streets intersected by the polygons.
*
* @see [polygonBarriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#polylinebarriers)
*/
accessor polygonBarriers: (NetworkInput | Collection<PolygonBarrier>) | null | undefined;
/**
* Use this property to specify one or more lines that prohibit travel anywhere the lines intersect the streets. For
* example, a parade or protest that blocks traffic across several street segments can be modeled with a line
* barrier.
*
* @see [polylineBarriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#polylinebarriers)
*/
accessor polylineBarriers: (NetworkInput | Collection<PolylineBarrier>) | null | undefined;
/**
* Use this property to indicate whether the operation should keep the first stop fixed when reordering the [stops](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#stops).
* This property is applicable only if the [findBestSequence](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#findBestSequence) parameter value is `true`.
*
* @see [preserveFirstStop](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#preservefirststop)
*/
accessor preserveFirstStop: boolean | null | undefined;
/**
* Use this property to indicate whether the operation should keep the last stop fixed when reordering the [stops](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#stops).
* This property is applicable only if the [findBestSequence](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#findBestSequence) parameter value is `true`.
*
* @see [preserveLastStop](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#preservelaststop)
*/
accessor preserveLastStop: boolean | null | undefined;
/**
* Use this property to specify if the Object IDs specified for input locations such as stops or barriers should be
* preserved when the input locations are returned as output.
*
* @since 4.24
* @see [preserveObjectID](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#preserveobjectid)
*/
accessor preserveObjectID: boolean | null | undefined;
/**
* Use this property to specify which restrictions should be honored by the operation. A restriction represents a
* driving preference or requirement. This value is ignored if [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode) is specified.
*
* Known Value |
* ------------|
* any-hazmat-prohibited |
* avoid-carpool-roads |
* avoid-express-lanes |
* avoid-ferries |
* avoid-gates |
* avoid-limited-access-roads |
* avoid-private-roads |
* avoid-roads-unsuitable-for-pedestrians |
* avoid-stairways |
* avoid-toll-roads |
* avoid-toll-roads-for-trucks |
* avoid-truck-restricted-roads |
* avoid-unpaved-roads |
* axle-count-restriction |
* driving-a-bus |
* driving-a-taxi |
* driving-a-truck |
* driving-an-automobile |
* driving-an-emergency-vehicle |
* height-restriction |
* kingpin-to-rear-axle-length-restriction |
* length-restriction |
* preferred-for-pedestrians |
* riding-a-motorcycle |
* roads-under-construction-prohibited |
* semi-or-tractor-with-one-or-more-trailers-prohibited |
* single-axle-vehicles-prohibited |
* tandem-axle-vehicles-prohibited |
* through-traffic-prohibited |
* truck-with-trailers-restriction |
* use-preferred-hazmat-routes |
* use-preferred-truck-routes |
* walking |
* weight-restriction |
*
* @see [restrictionAttributeNames](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#restrictionattributenames)
*/
accessor restrictionAttributes: string[] | null | undefined;
/**
* Use this property to restrict or permit the route from making U-turns at junctions. This value is ignored if
* [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode) is specified.
*
* @see [restrictUTurns](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#restrictuturns)
*/
restrictUTurns?: UTurnRestriction | null;
/**
* Specify whether [point barriers](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#pointBarriers) will be returned by the routing operation.
*
* @default false
* @see [returnBarriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnbarriers)
*/
accessor returnBarriers: boolean | null | undefined;
/**
* Specify whether the operation should generate driving directions for each route. If `true` directions are configured
* based on the values for the [directionsLanguage](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#directionsLanguage),
* [directionsOutputType](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#directionsOutputType), [directionsStyleName](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#directionsStyleName), and
* [directionsLengthUnits](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#directionsLengthUnits) properties.
*
* @default false
* @see [returnDirections](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returndirections)
*/
accessor returnDirections: boolean | null | undefined;
/**
* Specify whether the service will return empty results instead of the error property when the request fails.
* If `true` errors, if any, are returned in the [RouteSolveResult.messages](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteSolveResult/#messages) property
* when a route is [solved](https://developers.arcgis.com/javascript/latest/references/core/rest/route/#solve).
*
* @since 5.0
* @see [returnEmptyResults](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnemptyresults)
*/
accessor returnEmptyResults: boolean | null | undefined;
/**
* Specify whether [polygon barriers](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#polygonBarriers) will be returned by the routing operation.
*
* @default false
* @see [returnPolygonBarriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnpolygonbarriers)
*/
accessor returnPolygonBarriers: boolean | null | undefined;
/**
* Specify whether [polyline barriers](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#polylineBarriers) will be returned by the routing operation.
*
* @default false
* @see [returnPolylineBarriers](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnpolylinebarriers)
*/
accessor returnPolylineBarriers: boolean | null | undefined;
/**
* Use this property to specify if the operation should return routes. If `true`, the shape of the routes depends on
* the value for the [outputLines](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#outputLines) property.
*
* @default true
* @see [returnRoutes](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnroutes)
*/
accessor returnRoutes: boolean | null | undefined;
/**
* Use this property to specify whether [stops](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#stops) will be returned by the routing operation.
*
* @default false
* @see [returnStops](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnstops)
*/
accessor returnStops: boolean | null | undefined;
/**
* Specify whether traversed edges will be returned by the operation.
*
* @since 4.24
* @see [returnTraversedEdges](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnstops)
*/
accessor returnTraversedEdges: boolean | null | undefined;
/**
* Specify whether traversed junctions will be returned by the operation.
*
* @since 4.24
* @see [returnTraversedJunctions](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnstops)
*/
accessor returnTraversedJunctions: boolean | null | undefined;
/**
* Specify whether traversed turns will be returned by the operation.
*
* @since 4.24
* @see [returnTraversedTurns](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returntraversedturns)
*/
accessor returnTraversedTurns: boolean | null | undefined;
/**
* Include z values for the returned geometries if supported by the underlying network.
*
* @default true
* @see [returnZ](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#returnz)
*/
accessor returnZ: boolean | null | undefined;
/**
* Indicates the time that travel should begin. Please note that the "now" keyword is only supported on servers with
* a version of 10.8.1 or greater. If a start time is not provided, the route is based on historically average
* traffic conditions, average speeds, and posted speed limits.
*
* When a startTime of "now" is used the [startTimeIsUTC](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#startTimeIsUTC) property is ignored.
*
* @see [startTime](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#starttime)
* @see [NetworkServiceDescription](https://developers.arcgis.com/javascript/latest/references/core/rest/support/NetworkServiceDescription/)
*/
accessor startTime: NetworkDate | null | undefined;
/**
* Specify the time zone or zones of the [startTime](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#startTime) property.
*
* @default true
* @see [startTimeIsUTC](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#starttimeisutc)
*/
accessor startTimeIsUTC: boolean | null | undefined;
/**
* Specifies the locations the output route or routes will visit.
*
* @see [stops](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#stops)
* @example
* // Define stops using a FeatureSet.
* const routeParameters = new RouteParameters({
* stops: new FeatureSet({
* features: [
* new Graphic({
* attributes: { Name: "Redlands" },
* geometry: new Point({ x: -117.1825, y: 34.054722 })
* }),
* new Graphic({
* attributes: { Name: "Palm Springs" },
* geometry: new Point({ x: -116.545278, y: 33.830278 })
* })
* ]
* })
* });
* @example
* // Define stops using a collection of Stops.
* const routeParameters = new RouteParameters({
* stops: new Collection([
* new Stop({ name: "Redlands", geometry: { x: -117.1825, y: 34.054722 }}),
* new Stop({ name: "Palm Springs", geometry: { x: -116.545278, y: 33.830278 }})
* ])
* });
*/
accessor stops: (NetworkInput | Collection<Stop>) | null | undefined;
/**
* Specify whether the time window start and end property values on [stops](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#stops) are in UTC
* or geographically local time.
*
* @since 4.24
* @see [timeWindowsAreUTC](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#timewindowsareutc)
*/
accessor timeWindowsAreUTC: boolean | null | undefined;
/**
* A travel mode represents a means of transportation, such as driving or walking. Travel modes define the physical
* characteristics of a vehicle or pedestrian.
*
* Use [fetchServiceDescription()](https://developers.arcgis.com/javascript/latest/references/core/rest/networkService/#fetchServiceDescription) to
* obtain a list of predefined travel modes and the default travel mode that is used if one is not specified in a
* routing reqest.
*
* @see [Introduction to travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm)
* @see [Default travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm#GUID-96DF7F50-E0B2-4BF3-8271-EB515D3F0107)
* @see [travelMode](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#travelmode)
* @example
* // Display the fastest walking time route between two existing graphics.
* const apiKey = "<your-api-key>";
* const url = "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
*
* // Obtain the routing service's description. The description contains all preset travel modes.
* const serviceDescription = await networkService.fetchServiceDescription(url, apiKey);
*
* // Find the named travel mode called "Walking Time".
* const { supportedTravelModes } = serviceDescription;
* const travelMode = supportedTravelModes.find((mode) => mode.name === "Walking Time");
*
* // Construct the route parameter object.
* const routeParameters = new RouteParameters({
* apiKey,
* stops: new FeatureSet({
* features: view.graphics.toArray()
* }),
* returnDirections: true,
* travelMode
* });
*
* // Solve the route and add the path representing the fastest walk path to the map.
* const routeContainer = await route.solve(url, routeParameters);
* for (const routeResult of routeContainer.routeResults) {
* const { routeLayer } = routeResult;
* routeLayer.symbol = {
* type: "simple-line",
* color: [5, 150, 255],
* width: 3
* };
* view.graphics.add(routeLayer);
* }
*/
get travelMode(): TravelMode | null | undefined;
set travelMode(value: TravelModeProperties | null | undefined);
/**
* Specify whether hierarchy should be used when finding the shortest paths. This value is ignored if a
* [travelMode](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#travelMode) is specified.
*
* @see [useHierarchy](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#usehierarchy)
*/
accessor useHierarchy: boolean | null | undefined;
/**
* Use this property to indicate whether the operation should consider time windows specified on the [stops](https://developers.arcgis.com/javascript/latest/references/core/rest/support/RouteParameters/#stops)
* when finding the best route. The time windows are specified on stops using start and end time window properties.
*
* @see [useTimeWindows](https://developers.arcgis.com/rest/services-reference/enterprise/route-sync-services/#usetimewindows)
*/
accessor useTimeWindows: boolean | null | undefined;
}
declare const RouteParametersSuperclass: typeof JSONSupport & typeof ClonableMixin