@tomtom-org/maps-sdk 1.0.0-rc.3 → 1.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,35 @@
1
- import { AddressProperties, AreaAnalyticsMetricKey, Avoidable, BBox, ChargingPoint, ChargingStation, CommonPlaceProps, Connector, ConnectorType, EntryPoint, Fuel, GeographyType, GeopoliticalView, GetPositionEntryPointOption, GlobalConfig, HasBBox, HasLngLat, MapcodeType, OpeningHours, OpeningHoursMode, POICategory, Place, PlaceDataSources, PlaceType, Places, PolygonFeature, PolygonFeatures, ReachableRangeBudget, RevGeoAddressProps, RoadShieldReference, Route, RoutePlanningLocation, Routes, SDKErrorCode, SearchPlaceProps, TimeZone, TomTomAPIHeaders, TrafficAreaAnalytics, TrafficIncidentDetails, TrafficIncidentRequestCategory, TrafficIncidentTEC, TrafficIncidentTimeValidity, TravelMode, inputSectionTypesWithGuidance } from "@tomtom-org/maps-sdk/core";
1
+ import { AddressProperties, AreaAnalyticsMetricKey, Avoidable, BBox, ChargingPoint, ChargingStation, CommonPlaceProps, Connector, ConnectorType, CurveDetectionOptions, EntryPoint, Fuel, GeographyType, GeopoliticalView, GetPositionEntryPointOption, GlobalConfig, HasBBox, HasLngLat, MapcodeType, OpeningHours, OpeningHoursMode, POICategory, Place, PlaceDataSources, PlaceType, Places, PolygonFeature, PolygonFeatures, ReachableRangeBudget, RevGeoAddressProps, RoadShieldReference, Route, RoutePlanningLocation, Routes, SDKErrorCode, SearchPlaceProps, TimeZone, TomTomAPIHeaders, TrafficAreaAnalytics, TrafficIncidentDetails, TrafficIncidentRequestCategory, TrafficIncidentTEC, TrafficIncidentTimeValidity, TravelMode, inputSectionTypesWithGuidance } from "@tomtom-org/maps-sdk/core";
2
2
  import { core } from "zod";
3
+ //#region src/along-route-search/types/alongRoutePlaceProps.d.ts
4
+ /**
5
+ * The properties of a place that {@link discoverPlaces} finds along a route: the search properties
6
+ * plus the detour a stop at the place costs.
7
+ *
8
+ * @remarks
9
+ * A detour is measured against the original route, so either figure can be negative.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const cafes = await discoverPlaces({ route, maxDetourTimeSeconds: 600, query: 'cafe' });
14
+ * const minutes = Math.round(cafes.features[0].properties.detourTimeInSeconds / 60);
15
+ * ```
16
+ *
17
+ * @group Along Route Search
18
+ */
19
+ type AlongRoutePlaceProps = SearchPlaceProps & {
20
+ /** Seconds a stop at the place adds to the route, negative when the route through it is faster. */
21
+ detourTimeInSeconds: number;
22
+ /** Meters a stop at the place adds to the route, negative when the route through it is shorter. */
23
+ detourDistanceInMeters: number;
24
+ /**
25
+ * Meters from the start of the route to where the detour to the place leaves it.
26
+ *
27
+ * @remarks
28
+ * It is present only when you sort by `'detourOffset'`, which types it as required.
29
+ */
30
+ detourOffsetInMeters?: number;
31
+ };
32
+ //#endregion
3
33
  //#region ../node_modules/.pnpm/@types+geojson@7946.0.16/node_modules/@types/geojson/index.d.ts
4
34
  /**
5
35
  * The value values for the "type" property of GeoJSON Objects.
@@ -264,8 +294,9 @@ type CommonServiceParams<ApiRequest = any, ApiResponse = any> = Partial<Omit<Glo
264
294
  * Whether the SDK validates the request parameters against the expected schema before sending them.
265
295
  *
266
296
  * @remarks
267
- * To skip validation, set it to `false`. The `commonBaseURL` check (`INSECURE_BASE_URL`) runs
268
- * either way.
297
+ * Validation also rejects a parameter the service doesn't know, and names it. To skip validation,
298
+ * set it to `false`, which then drops an unknown parameter silently. The `commonBaseURL` check
299
+ * (`INSECURE_BASE_URL`) runs either way.
269
300
  *
270
301
  * @defaultValue `true`
271
302
  */
@@ -331,9 +362,9 @@ type CommonServiceParams<ApiRequest = any, ApiResponse = any> = Partial<Omit<Glo
331
362
  * 2. API errors are recoverable errors that occur during SDK operations,
332
363
  * such as network failures or invalid API responses.
333
364
  *
334
- * A service call rejects with one, except for a request it cannot build at all, such as one with a geometry type
335
- * that geometry search does not support sent with `validateRequest: false`, and for `geocodeOne` or `discoverOnePlace` finding nothing. Those reject
336
- * with a plain `Error`. An `onAPIRequest` or `onAPIResponse` hook that throws rejects the call with its own error.
365
+ * A service call rejects with one, even for a request it cannot build at all, such as one with a geometry type
366
+ * that geometry search does not support sent with `validateRequest: false`. That one is an `INVALID_REQUEST`.
367
+ * An `onAPIRequest` or `onAPIResponse` hook that throws rejects the call with its own error.
337
368
  *
338
369
  * @example
339
370
  * ```typescript
@@ -477,8 +508,8 @@ export declare class SDKAbortError extends SDKError {
477
508
  /**
478
509
  * What {@link LatestRequest.run} resolves to.
479
510
  *
480
- * `current: false` means a newer `run` or a `cancel` retired the request, so its value or error is
481
- * stale and must not be shown.
511
+ * `current: false` means a newer request or a `cancel` retired the request, so its value or error
512
+ * is stale and must not be shown.
482
513
  *
483
514
  * @group Shared
484
515
  */
@@ -489,7 +520,32 @@ export type LatestRequestResult<T> = {
489
520
  current: false;
490
521
  };
491
522
  /**
492
- * One in-flight request slot, where each new request retires the one before it.
523
+ * When a newer request retires the ones started before it.
524
+ *
525
+ * - `'on-start'`: as it starts, so only one request is ever in flight.
526
+ * - `'on-answer'`: as its answer arrives, so the older ones keep running and each answer that
527
+ * lands first is still shown. Use it when requests start faster than they answer, such as a
528
+ * route re-planned during a drag, where `'on-start'` would show nothing until the drag pauses.
529
+ *
530
+ * @group Shared
531
+ */
532
+ export type LatestRequestSupersede = 'on-start' | 'on-answer';
533
+ /**
534
+ * Options for {@link createLatestRequest}.
535
+ *
536
+ * @group Shared
537
+ */
538
+ export type LatestRequestOptions = {
539
+ /**
540
+ * When a newer request retires the ones started before it.
541
+ *
542
+ * @defaultValue `'on-start'`
543
+ */
544
+ supersede?: LatestRequestSupersede;
545
+ };
546
+ /**
547
+ * A request slot that keeps only the latest answer, where each request retires the ones started
548
+ * before it, as {@link LatestRequestOptions.supersede} sets.
493
549
  *
494
550
  * @see {@link createLatestRequest}
495
551
  *
@@ -497,18 +553,19 @@ export type LatestRequestResult<T> = {
497
553
  */
498
554
  export type LatestRequest = {
499
555
  /**
500
- * Aborts the request in flight, if any, then starts this one.
556
+ * Starts this request, and retires the ones started before it when it starts or when it answers.
501
557
  *
502
558
  * @remarks
503
559
  * `request` is called synchronously with a fresh signal, which it passes to every service
504
- * call it makes. A rejection is rethrown only while the request is still current, so a
505
- * deadline of your own composed onto the signal still surfaces as an {@link SDKAbortError}.
560
+ * call it makes. Retiring a request aborts its signal. A rejection is rethrown only while the
561
+ * request is still current, so a deadline of your own composed onto the signal still surfaces
562
+ * as an {@link SDKAbortError}.
506
563
  *
507
564
  * @param request - The work to run, typically one or more service calls sharing the signal
508
565
  */
509
566
  run: <T>(request: (signal: AbortSignal) => Promise<T>) => Promise<LatestRequestResult<T>>;
510
567
  /**
511
- * Aborts the request in flight without starting another, so it resolves `{ current: false }`.
568
+ * Aborts every request in flight without starting another, so each resolves `{ current: false }`.
512
569
  */
513
570
  cancel: () => void;
514
571
  /**
@@ -521,14 +578,18 @@ export type LatestRequest = {
521
578
  /**
522
579
  * Creates a slot that keeps only the latest request.
523
580
  *
524
- * Starting one aborts its predecessor, and an answer arriving after a newer request or a `cancel` is
525
- * dropped rather than returned.
581
+ * A newer request aborts the ones started before it, and an answer arriving after a newer one or a
582
+ * `cancel` is dropped rather than returned.
526
583
  *
527
584
  * @remarks
528
585
  * Use one per thing that can be superseded, like a click lookup, a search box or a refetch on map
529
586
  * move. Aborting stops the network work. Checking again once the answer is in also catches a `cancel`
530
587
  * that arrives after the response but before the caller paints it.
531
588
  *
589
+ * By default a request retires the older ones as it starts. With `supersede: 'on-answer'` they keep
590
+ * running until a newer answer arrives, so a stream of requests faster than their answers still
591
+ * shows each answer in order.
592
+ *
532
593
  * @example
533
594
  * ```ts
534
595
  * const lookup = createLatestRequest();
@@ -541,11 +602,19 @@ export type LatestRequest = {
541
602
  * clearButton.addEventListener('click', lookup.cancel);
542
603
  * ```
543
604
  *
605
+ * @example
606
+ * Show each route re-planned during a drag as it arrives, never an older one after a newer one:
607
+ * ```ts
608
+ * const latestRoute = createLatestRequest({ supersede: 'on-answer' });
609
+ * const result = await latestRoute.run((signal) => calculateRoute({ locations, signal }));
610
+ * if (result.current) await routingModule.showRoutes(result.value);
611
+ * ```
612
+ *
544
613
  * @see [Keeping only the latest request](https://docs.tomtom.com/maps-sdk-js/guides/services/request-options-and-errors#keeping-only-the-latest-request)
545
614
  *
546
615
  * @group Shared
547
616
  */
548
- export declare const createLatestRequest: () => LatestRequest;
617
+ export declare const createLatestRequest: (options?: LatestRequestOptions) => LatestRequest;
549
618
  //#endregion
550
619
  //#region src/shared/types/geoBias.d.ts
551
620
  /**
@@ -574,8 +643,8 @@ export type PointGeoBias = {
574
643
  */
575
644
  export type BoundingBoxGeoBias = {
576
645
  /**
577
- * The rectangle, as `[minLongitude, minLatitude, maxLongitude, maxLatitude]` or any GeoJSON
578
- * value a bounding box can be derived from (a `bbox` property, a Feature, or a geometry).
646
+ * The rectangle, as a {@link BBox} `[west, south, east, north]` (west > east across the antimeridian),
647
+ * or any GeoJSON value a bounding box can be derived from (a `bbox` property, a Feature, or a geometry).
579
648
  */
580
649
  boundingBox: HasBBox;
581
650
  };
@@ -864,8 +933,12 @@ export type CommonGeocodeAndFuzzySearchParams = {
864
933
  * the same parameters. Leave it out for the first page.
865
934
  *
866
935
  * @remarks
867
- * The value is **opaque**. Only the SDK mints and reads it, so the pagination mechanism can
868
- * change without breaking callers. Passing a value this SDK did not produce throws.
936
+ * The value is **opaque**. Its format isn't part of the contract, so the pagination mechanism
937
+ * can change without breaking callers. A value the SDK can't read as a cursor throws an `SDKError`.
938
+ *
939
+ * The cursor isn't tied to the search that minted it. If you pass it with another `query` or
940
+ * other `filters`, that search starts at the same position and skips its first pages. Leave
941
+ * `cursor` out to start a new search.
869
942
  *
870
943
  * @example
871
944
  * ```typescript
@@ -1320,12 +1393,27 @@ export type CostModel = {
1320
1393
  routeType?: RouteType;
1321
1394
  };
1322
1395
  type DepartArriveOption = 'departAt' | 'arriveBy';
1396
+ /**
1397
+ * A wall-clock date and time without a UTC offset, as `YYYY-MM-DDTHH:mm:ss`, such as
1398
+ * `'2026-10-19T08:15:00'`.
1399
+ *
1400
+ * @remarks
1401
+ * Seconds are required, and an offset, a trailing `Z` or a date that doesn't exist, such as
1402
+ * `2026-02-30`, is rejected. Each field takes two digits, which the type can't check, so pad what
1403
+ * you build at runtime and cast it with `as LocalDateTime`. Request validation checks the rest.
1404
+ *
1405
+ * @group Routing
1406
+ */
1407
+ export type LocalDateTime = `${number}-${number}-${number}T${number}:${number}:${number}`;
1323
1408
  /**
1324
1409
  * The departure or arrival time for route planning.
1325
1410
  *
1326
1411
  * It sets either when to depart from the origin or when to arrive at the destination. The routing
1327
1412
  * engine then optimises the route for that time window, considering traffic patterns for that time of day.
1328
1413
  *
1414
+ * Pass exactly one of `date`, an instant, and `localDateTime`, a wall-clock time the routing API
1415
+ * reads in the local time zone of the place it applies to.
1416
+ *
1329
1417
  * @typeParam Option - Whether this specifies departure or arrival time
1330
1418
  *
1331
1419
  * @remarks
@@ -1342,23 +1430,17 @@ type DepartArriveOption = 'departAt' | 'arriveBy';
1342
1430
  *
1343
1431
  * @example
1344
1432
  * ```typescript
1345
- * // Depart at specific time (morning commute)
1433
+ * // Depart at 08:15 in Tokyo, wherever the code runs
1346
1434
  * const departParams: DepartArriveParams = {
1347
1435
  * option: 'departAt',
1348
- * date: new Date('2025-10-20T08:00:00+02:00')
1436
+ * localDateTime: '2026-10-19T08:15:00'
1349
1437
  * };
1350
1438
  *
1351
- * // Arrive by specific time (catch a flight)
1439
+ * // Arrive by an instant (catch a flight)
1352
1440
  * const arriveParams: DepartArriveParams = {
1353
1441
  * option: 'arriveBy',
1354
1442
  * date: new Date('2025-10-20T14:00:00+02:00')
1355
1443
  * };
1356
- *
1357
- * // Plan route avoiding rush hour
1358
- * const offPeakDepart: DepartArriveParams = {
1359
- * option: 'departAt',
1360
- * date: new Date('2025-10-20T10:30:00+02:00') // After morning rush
1361
- * };
1362
1444
  * ```
1363
1445
  *
1364
1446
  * @group Routing
@@ -1372,18 +1454,32 @@ export type DepartArriveParams<Option extends DepartArriveOption = DepartArriveO
1372
1454
  * - `arriveBy` calculates the route backward to arrive by this time.
1373
1455
  */
1374
1456
  option: Option;
1457
+ } & ({
1375
1458
  /**
1376
- * The date and time to depart or arrive.
1459
+ * The instant to depart or arrive.
1377
1460
  *
1378
1461
  * @remarks
1379
1462
  * If you pass a past date, or one that is impossible to achieve (such as an imminent arrival
1380
1463
  * date for a very long route), the route defaults to departing immediately.
1381
1464
  *
1382
- * The date is an instant, sent in UTC. For a wall-clock time at the origin, build the `Date`
1383
- * with the origin's UTC offset.
1465
+ * The date is sent in UTC. For a wall-clock time at the origin, use `localDateTime` instead.
1384
1466
  */
1385
1467
  date: Date;
1386
- };
1468
+ localDateTime?: never;
1469
+ } | {
1470
+ /**
1471
+ * The wall-clock time to depart or arrive, without a UTC offset.
1472
+ *
1473
+ * @remarks
1474
+ * `localDateTime` is a wall-clock time without an offset, read in the origin's time zone.
1475
+ * With `arriveBy`, it is read in the time zone of the route's final destination instead.
1476
+ *
1477
+ * The response's `summary.departureTime` and `summary.arrivalTime` carry the instants it
1478
+ * resolved to. A past or unreachable time defaults to departing immediately, as with `date`.
1479
+ */
1480
+ localDateTime: LocalDateTime;
1481
+ date?: never;
1482
+ });
1387
1483
  /**
1388
1484
  * The parameters every routing service request shares.
1389
1485
  *
@@ -1413,7 +1509,7 @@ export type DepartArriveParams<Option extends DepartArriveOption = DepartArriveO
1413
1509
  * travelMode: 'car',
1414
1510
  * when: {
1415
1511
  * option: 'departAt',
1416
- * date: new Date('2025-10-20T08:00:00+02:00')
1512
+ * localDateTime: '2026-10-19T08:00:00'
1417
1513
  * }
1418
1514
  * };
1419
1515
  *
@@ -1436,7 +1532,7 @@ export type DepartArriveParams<Option extends DepartArriveOption = DepartArriveO
1436
1532
  * };
1437
1533
  * ```
1438
1534
  *
1439
- * @see [Common Routing Parameters Documentation](https://docs.tomtom.com/routing-api/documentation/routing/common-routing-parameters)
1535
+ * @see [Calculate Route POST data parameters](https://docs.tomtom.com/routing-api/documentation/tomtom-orbis-maps/v3/calculate-route#post-data-parameters)
1440
1536
  *
1441
1537
  * @group Routing
1442
1538
  */
@@ -1448,15 +1544,16 @@ export type CommonRoutingParams = {
1448
1544
  /**
1449
1545
  * The travel mode for the requested route, which is the primary means of transport while routing.
1450
1546
  *
1451
- * Note that the requested travelMode may not be available for the entire route. Where it is not
1452
- * available for a particular section, the response element for that section is 'other'.
1453
- * @default None
1547
+ * Only `'car'` is supported, which is also the routing service's default.
1548
+ * For `calculateRoute`, the parts of the route a car may not use come back as its
1549
+ * `vehicleRestricted` sections, unless `sectionTypes` leaves them out.
1550
+ * @default 'car'
1454
1551
  */
1455
1552
  travelMode?: TravelMode;
1456
1553
  /**
1457
- * When to depart or arrive.
1458
- * If you pass a past date, or one that is impossible to achieve (such as an imminent arrival
1459
- * date for a long route), it defaults to departing now.
1554
+ * When to depart or arrive, as an instant or a wall-clock time.
1555
+ * If you pass a past time, or one that is impossible to achieve (such as an imminent arrival
1556
+ * for a long route), it defaults to departing now.
1460
1557
  * @default depart now
1461
1558
  */
1462
1559
  when?: DepartArriveParams;
@@ -1669,7 +1766,6 @@ type SummaryQueryType = 'NEARBY' | 'NON_NEAR';
1669
1766
  * });
1670
1767
  *
1671
1768
  * const summary = results.properties;
1672
- * console.log(`Found ${summary?.totalResults ?? 'an unknown number of'} total results`);
1673
1769
  * console.log(`Showing ${summary?.numResults} results`);
1674
1770
  * console.log(`Query type: ${summary?.queryType}`); // 'NEARBY'
1675
1771
  * console.log(`Search took ${summary?.queryTime}ms`);
@@ -1721,9 +1817,8 @@ export type SearchSummary = {
1721
1817
  *
1722
1818
  * @example
1723
1819
  * ```typescript
1724
- * // If limit=10 and totalResults=50
1820
+ * // If limit=10 and more results exist
1725
1821
  * numResults: 10 // Only 10 results in this response
1726
- * totalResults: 50 // 50 total matches exist
1727
1822
  * ```
1728
1823
  */
1729
1824
  numResults: number;
@@ -1733,24 +1828,30 @@ export type SearchSummary = {
1733
1828
  * @remarks
1734
1829
  * See {@link CommonGeocodeAndFuzzySearchParams.cursor}. Only fuzzy search and geocoding page this way.
1735
1830
  *
1736
- * If it is absent, pagination has ended. Either the result set is exhausted, this page came back
1737
- * empty, or the next page would start past result 1900, the furthest the backend serves.
1831
+ * If it is absent, pagination has ended. Either the next page would start at `totalResults`, this
1832
+ * page came back empty, or the next page would start past result 1900, the furthest the backend
1833
+ * serves. Fuzzy search's `totalResults` is at most 100 and can be lower at a larger `limit`, so its
1834
+ * pagination ends there.
1738
1835
  */
1739
1836
  nextCursor?: string;
1740
1837
  /**
1741
- * The total number of results that match the query, regardless of pagination limits.
1838
+ * The number of results the search API reports for the query.
1742
1839
  *
1743
1840
  * @remarks
1744
- * A total is not guaranteed, so guard it rather than assume a number. Use it to size a progress
1745
- * indicator, such as a page count of `Math.ceil(totalResults / limit)`, but not to drive
1746
- * pagination. `nextCursor` decides whether a further page exists.
1841
+ * It is not guaranteed, so guard it rather than assume a number. For geocoding, it counts matches
1842
+ * beyond the page returned. Fuzzy and geometry search report at most 100, the most one search
1843
+ * returns, and fuzzy search's number can drop as `limit` grows. Along-route search reports the
1844
+ * page's own length. So don't show it as a total except for geocoding.
1845
+ *
1846
+ * Don't drive pagination with it either. `nextCursor` decides whether a further page exists.
1747
1847
  *
1748
1848
  * @example
1749
1849
  * ```typescript
1750
- * totalResults: 50 // 50 total matches found
1751
- * numResults: 10 // Showing first 10
1850
+ * // geocode({ query: 'Main Street' })
1851
+ * totalResults: 58090 // Matches counted, this page included
1852
+ * numResults: 10 // Showing the first 10
1752
1853
  *
1753
- * // Fetch the rest by passing `nextCursor` back as `cursor`
1854
+ * // Fetch more by passing `nextCursor` back as `cursor`
1754
1855
  * ```
1755
1856
  */
1756
1857
  totalResults?: number;
@@ -2017,11 +2118,24 @@ type AlongRouteSearchPayloadAPI = {
2017
2118
  type AlongRouteSearchRequestAPI = PostObject<AlongRouteSearchPayloadAPI>;
2018
2119
  //#endregion
2019
2120
  //#region src/along-route-search/types/alongRouteSearchResponseAPI.d.ts
2121
+ /**
2122
+ * @ignore
2123
+ */
2124
+ type AlongRouteSearchResultAPI = CommonSearchPlaceResultAPI & {
2125
+ /** In seconds. */
2126
+ detourTime: number;
2127
+ /** In meters. */
2128
+ detourDistance: number;
2129
+ /** In meters, sent only when sorting by `detourOffset`. */
2130
+ detourOffset?: number;
2131
+ };
2020
2132
  /**
2021
2133
  * Its results are sorted by detour time or offset.
2022
2134
  * @ignore
2023
2135
  */
2024
- type AlongRouteSearchResponseAPI = SearchResultsResponseAPI;
2136
+ type AlongRouteSearchResponseAPI = Omit<SearchResultsResponseAPI, 'results'> & {
2137
+ results: AlongRouteSearchResultAPI[];
2138
+ };
2025
2139
  //#endregion
2026
2140
  //#region src/along-route-search/types/alongRouteSearchParams.d.ts
2027
2141
  /**
@@ -2030,8 +2144,11 @@ type AlongRouteSearchResponseAPI = SearchResultsResponseAPI;
2030
2144
  * Controls how the returned POIs are ordered relative to the route.
2031
2145
  *
2032
2146
  * @remarks
2033
- * - `detourTime`: Sort by additional travel time required to visit the POI (default)
2034
- * - `detourOffset`: Sort by how far along the route the detour point falls
2147
+ * - `detourTime`: Sort by the detour time, the travel time a stop at the POI adds (default). It is
2148
+ * negative when the route through the POI is faster than the original one, so those POIs come first.
2149
+ * Each result carries it as `detourTimeInSeconds`, in {@link AlongRoutePlaceProps}.
2150
+ * - `detourOffset`: Sort by how far along the route the detour point falls. Each result then carries it
2151
+ * as `detourOffsetInMeters`, in {@link AlongRoutePlaceProps}.
2035
2152
  *
2036
2153
  * @group Along Route Search
2037
2154
  */
@@ -2040,7 +2157,7 @@ type AlongRouteSortBy = 'detourTime' | 'detourOffset';
2040
2157
  * Parameters for searching places along a route.
2041
2158
  *
2042
2159
  * Along-route search finds POIs near a provided route geometry and ranks them
2043
- * by the detour cost (time or distance offset) required to visit them.
2160
+ * by the detour time a stop adds, or by the detour point's offset along the route.
2044
2161
  *
2045
2162
  * @remarks
2046
2163
  * **Key Features:**
@@ -2099,7 +2216,8 @@ type AlongRouteSearchParams = CommonSearchParams<AlongRouteSearchRequestAPI, Alo
2099
2216
  */
2100
2217
  route: LineString | Route | Position[];
2101
2218
  /**
2102
- * Maximum allowed detour time in seconds.
2219
+ * Maximum allowed detour time in seconds, a positive integer up to `3600` (one hour);
2220
+ * request validation rejects a larger one.
2103
2221
  *
2104
2222
  * Only POIs reachable within this additional travel time from the route
2105
2223
  * are returned. It controls the width of the search corridor.
@@ -2583,7 +2701,7 @@ type GeocodingParams = Omit<CommonPlacesParams<GetObject, GeocodingResponseAPI>
2583
2701
  * Address or location query to geocode.
2584
2702
  *
2585
2703
  * The text to convert into geographic coordinates, typically a street address,
2586
- * intersection, city name or landmark. The service tolerates typos and incomplete
2704
+ * intersection or city name. The service tolerates typos and incomplete
2587
2705
  * inputs. Pass it as plain text. The SDK encodes it for the request path, so a value
2588
2706
  * you already encoded is encoded again and can resolve to a different place.
2589
2707
  *
@@ -2592,14 +2710,16 @@ type GeocodingParams = Omit<CommonPlacesParams<GetObject, GeocodingResponseAPI>
2592
2710
  * - Full street address: "1600 Pennsylvania Avenue NW, Washington, DC"
2593
2711
  * - City name: "Amsterdam"
2594
2712
  * - Intersection: "Broadway & 42nd St, New York"
2595
- * - Landmark: "Eiffel Tower, Paris"
2596
2713
  * - Partial address: "Dam Square" (city context resolved via `geoBias` or `filters.countries`)
2597
2714
  *
2715
+ * A landmark such as "Eiffel Tower, Paris" is a POI, which geocoding never returns: find it
2716
+ * with {@link discoverPlaces}.
2717
+ *
2598
2718
  * @example
2599
2719
  * ```typescript
2600
2720
  * query: '1600 Pennsylvania Avenue NW, Washington, DC'
2601
2721
  * query: 'Museumplein, Amsterdam'
2602
- * query: 'Buckingham Palace, London'
2722
+ * query: 'Broadway & 42nd St, New York'
2603
2723
  * ```
2604
2724
  */
2605
2725
  query: string;
@@ -2650,21 +2770,18 @@ type GeocodingParams = Omit<CommonPlacesParams<GetObject, GeocodingResponseAPI>
2650
2770
  * higher-level geographies (cities, counties, states, countries) and returns structured address
2651
2771
  * components.
2652
2772
  *
2653
- * @param params - The geocoding parameters, including the address query.
2773
+ * @param queryOrParams - The address or place name to geocode, the same as `{ query }`, or the full
2774
+ * {@link GeocodingParams}. Pass the params form to set any other option, `signal` included.
2654
2775
  *
2655
2776
  * @returns The geocoded locations.
2656
2777
  *
2657
2778
  * @example
2658
2779
  * ```typescript
2659
2780
  * // Geocode a complete address
2660
- * const result = await geocode({
2661
- * query: '1600 Pennsylvania Avenue NW, Washington, DC'
2662
- * });
2781
+ * const result = await geocode('1600 Pennsylvania Avenue NW, Washington, DC');
2663
2782
  *
2664
- * // Geocode with partial address
2665
- * const partialResult = await geocode({
2666
- * query: 'Amsterdam, Netherlands'
2667
- * });
2783
+ * // Geocode a partial address, cancellable through an AbortSignal
2784
+ * const partialResult = await geocode({ query: 'Amsterdam, Netherlands', signal });
2668
2785
  *
2669
2786
  * // Geocode with bias towards specific location
2670
2787
  * const biasedResult = await geocode({
@@ -2685,15 +2802,16 @@ type GeocodingParams = Omit<CommonPlacesParams<GetObject, GeocodingResponseAPI>
2685
2802
  *
2686
2803
  * @group Geocoding
2687
2804
  */
2688
- export declare const geocode: (params: GeocodingParams) => Promise<GeocodingResponse>;
2805
+ export declare const geocode: (queryOrParams: string | GeocodingParams) => Promise<GeocodingResponse>;
2689
2806
  /**
2690
2807
  * Geocodes a query and returns the single best-matching place.
2691
2808
  *
2692
2809
  * It wraps {@link geocode} and returns the top result directly.
2693
2810
  *
2694
2811
  * @param queryOrParams - The address or place name to geocode, or the full {@link GeocodingParams} without `limit`.
2812
+ * Pass the params form to set any other option, `signal` included.
2695
2813
  * @returns The best-matching place.
2696
- * @throws {Error} If no results are found for the query
2814
+ * @throws {SDKError} With the code `NOT_FOUND` and the service `'Geocode'` if no results are found for the query
2697
2815
  *
2698
2816
  * @remarks
2699
2817
  * To handle finding no results without throwing, use {@link geocode} with a `limit`
@@ -3194,8 +3312,7 @@ type PlaceDetailsMandatoryParams = {
3194
3312
  *
3195
3313
  * @remarks
3196
3314
  * You can get this ID from:
3197
- * - Previous search results (place.id)
3198
- * - POI details data source (place.properties.dataSources.poiDetails.id)
3315
+ * - Previous search results (place.id, on the feature rather than in its properties)
3199
3316
  * - Related POIs (place.properties.relatedPois[].id)
3200
3317
  *
3201
3318
  * @example
@@ -3255,8 +3372,8 @@ type PlaceDetailsResponse = Place<SearchPlaceProps> | undefined;
3255
3372
  * Retrieves detailed information about a place using its unique identifier.
3256
3373
  *
3257
3374
  * The place details service fetches comprehensive data for a specific place when you
3258
- * have its ID from a previous search or from a place's dataSources. Use it to get
3259
- * additional details or refresh information about a known location.
3375
+ * have its ID from a previous search. Use it to get additional details or refresh
3376
+ * information about a known location.
3260
3377
  *
3261
3378
  * @remarks
3262
3379
  * Use it to fetch a POI's opening hours, related POIs and EV charging hardware, update
@@ -3264,8 +3381,7 @@ type PlaceDetailsResponse = Place<SearchPlaceProps> | undefined;
3264
3381
  * deep links, or explore parent/child relationships between related POIs.
3265
3382
  *
3266
3383
  * You can get the ID from:
3267
- * - Previous search results (place.id)
3268
- * - POI details data source (place.properties.dataSources.poiDetails.id)
3384
+ * - Previous search results (place.id, on the feature rather than in its properties)
3269
3385
  * - Related POIs (place.properties.relatedPois[].id)
3270
3386
  * - Deep links or bookmarks
3271
3387
  *
@@ -3277,23 +3393,13 @@ type PlaceDetailsResponse = Place<SearchPlaceProps> | undefined;
3277
3393
  * ```typescript
3278
3394
  * // Get a search result's full details
3279
3395
  * const searchResult = await discoverPlaces({ query: 'Eiffel Tower' });
3280
- * const placeId = searchResult.features[0].id;
3396
+ * const place = searchResult.features[0];
3281
3397
  *
3282
3398
  * const placeDetails = await getPlaceDetails({
3283
- * entityId: placeId
3399
+ * entityId: place.id,
3400
+ * openingHours: 'nextSevenDays'
3284
3401
  * });
3285
3402
  *
3286
- * // Get extended POI details
3287
- * const place = searchResult.features[0];
3288
- * const poiDetailsId = place.properties.dataSources?.poiDetails?.id;
3289
- *
3290
- * if (poiDetailsId) {
3291
- * const detailedPOI = await getPlaceDetails({
3292
- * entityId: poiDetailsId,
3293
- * openingHours: 'nextSevenDays'
3294
- * });
3295
- * }
3296
- *
3297
3403
  * // Navigate to related POI
3298
3404
  * const relatedPOI = place.properties.relatedPois?.[0];
3299
3405
  * if (relatedPOI) {
@@ -3656,7 +3762,7 @@ export type ReachableRangeOwnParams = {
3656
3762
  */
3657
3763
  smoothing?: 'none' | 'weak' | 'strong';
3658
3764
  /**
3659
- * When to depart.
3765
+ * When to depart, as an instant (`date`) or a wall-clock time at the origin (`localDateTime`).
3660
3766
  *
3661
3767
  * @remarks
3662
3768
  * If you supply past dates or dates that are impossible to achieve, it
@@ -3669,7 +3775,7 @@ export type ReachableRangeOwnParams = {
3669
3775
  *
3670
3776
  * @example
3671
3777
  * ```typescript
3672
- * when: { option: 'departAt', date: new Date('2025-10-20T08:00:00+02:00') }
3778
+ * when: { option: 'departAt', localDateTime: '2026-10-19T08:00:00' }
3673
3779
  * ```
3674
3780
  */
3675
3781
  when?: DepartArriveParams<'departAt'>;
@@ -3773,7 +3879,7 @@ export type ReachableRangeProperties = Omit<ReachableRangeParams, keyof CommonSe
3773
3879
  * const morningRange = await calculateReachableRange({
3774
3880
  * origin: [4.9041, 52.3676],
3775
3881
  * budget: { type: 'timeMinutes', value: 45 },
3776
- * when: { option: 'departAt', date: new Date('2025-10-20T08:00:00+02:00') } // Rush hour
3882
+ * when: { option: 'departAt', localDateTime: '2026-10-19T08:00:00' } // Rush hour in Amsterdam
3777
3883
  * });
3778
3884
  * ```
3779
3885
  *
@@ -4432,6 +4538,8 @@ type InputSectionType = (typeof inputSectionTypesWithGuidance)[number];
4432
4538
  * - `roadShields`: Road shield information
4433
4539
  * - `importantRoadStretch`: Named important road stretches along the route
4434
4540
  * - `lanes`: Lane guidance
4541
+ * - `curve`: Curves, with their heading change and radius, which the SDK finds in the route's geometry
4542
+ * - `curvyStretch`: Stretches where curves follow one another closely, which the SDK groups the curves into
4435
4543
  *
4436
4544
  * A requested section type is only present in the response if the route actually traverses it
4437
4545
  * (e.g. `ferry` is omitted on a route with no water crossing). The `lanes` section is returned only
@@ -4443,14 +4551,14 @@ type InputSectionType = (typeof inputSectionTypesWithGuidance)[number];
4443
4551
  * // Request toll, ferry, and traffic sections
4444
4552
  * const sectionTypes: InputSectionTypes = ['toll', 'ferry', 'traffic'];
4445
4553
  *
4446
- * // Request all available sections
4447
- * const sectionTypes: InputSectionTypes = inputSectionTypesWithGuidance;
4554
+ * // The default sections, and the curves
4555
+ * const sectionTypes: InputSectionTypes = [...defaultSectionTypes, 'curve', 'curvyStretch'];
4448
4556
  *
4449
4557
  * // Request no optional sections (leg sections still included)
4450
4558
  * const sectionTypes: InputSectionTypes = [];
4451
4559
  * ```
4452
4560
  *
4453
- * @default When omitted, all section types are requested (equivalent to `inputSectionTypesWithGuidance`).
4561
+ * @default When omitted, core's `defaultSectionTypes`: every type but `curve` and `curvyStretch`.
4454
4562
  *
4455
4563
  * @group Routing
4456
4564
  */
@@ -4588,7 +4696,7 @@ type MaxNumberOfAlternatives = 0 | 1 | 2 | 3 | 4 | 5;
4588
4696
  * },
4589
4697
  * when: {
4590
4698
  * option: 'departAt',
4591
- * date: new Date('2025-10-20T08:00:00+02:00')
4699
+ * localDateTime: '2026-10-19T08:00:00'
4592
4700
  * }
4593
4701
  * };
4594
4702
  *
@@ -4624,8 +4732,8 @@ type CalculateRouteParams = CommonServiceParams<CalculateRouteRequestAPI, Calcul
4624
4732
  * pins the geometry the route must follow, but its endpoints go out as waypoints as well,
4625
4733
  * so it shapes the route without shortening the list of legs.
4626
4734
  *
4627
- * @see [POST data parameters](https://docs.tomtom.com/routing-api/documentation/tomtom-maps/calculate-route#post-data-parameters)
4628
- * @see [Response structure](https://docs.tomtom.com/routing-api/documentation/tomtom-maps/calculate-route#structure-of-a-successful-response)
4735
+ * @see [POST data parameters](https://docs.tomtom.com/routing-api/documentation/tomtom-orbis-maps/v3/calculate-route#post-data-parameters)
4736
+ * @see [Response structure](https://docs.tomtom.com/routing-api/documentation/tomtom-orbis-maps/v3/calculate-route#structure-of-a-successful-response)
4629
4737
  *
4630
4738
  * @example
4631
4739
  * ```typescript
@@ -4653,7 +4761,8 @@ type CalculateRouteParams = CommonServiceParams<CalculateRouteRequestAPI, Calcul
4653
4761
  * They improve routing accuracy by directing to the correct entrance.
4654
4762
  *
4655
4763
  * @remarks
4656
- * - `main-when-available`: Use main entry point if available, otherwise use place center (recommended for routing)
4764
+ * - `main-when-available`: Use the entry point {@link GetPositionEntryPointOption} picks, otherwise the
4765
+ * place center (recommended for routing)
4657
4766
  * - `ignore`: Always use place center position
4658
4767
  *
4659
4768
  * @default 'ignore' (a place's geometry is used)
@@ -4747,20 +4856,42 @@ type CalculateRouteParams = CommonServiceParams<CalculateRouteRequestAPI, Calcul
4747
4856
  * when two or more routes come back. A section type is only present in the response if the
4748
4857
  * route actually traverses it. The `lanes` section is returned only when
4749
4858
  * {@link GuidanceParams | `guidance`} is also requested, and, when a list is given, only if it
4750
- * includes `lanes`.
4859
+ * includes `lanes`. The SDK finds `curve` and `curvyStretch` in the route's geometry, with
4860
+ * the thresholds of `curveDetection`, and only when the list names them.
4751
4861
  *
4752
- * @default When omitted, all section types are requested.
4862
+ * @default When omitted, core's `defaultSectionTypes`: every type but `curve` and `curvyStretch`.
4753
4863
  *
4754
4864
  * @example
4755
4865
  * ```typescript
4756
4866
  * // Request specific sections (any combination of available section types)
4757
4867
  * sectionTypes: ['toll', 'ferry', 'traffic', 'country', 'roadShields']
4758
4868
  *
4869
+ * // The default sections, and the curves
4870
+ * sectionTypes: [...defaultSectionTypes, 'curve', 'curvyStretch']
4871
+ *
4759
4872
  * // Request no optional sections
4760
4873
  * sectionTypes: []
4761
4874
  * ```
4762
4875
  */
4763
4876
  sectionTypes?: InputSectionTypes;
4877
+ /**
4878
+ * The thresholds the SDK finds the `curve` and `curvyStretch` sections with, when
4879
+ * `sectionTypes` names them.
4880
+ *
4881
+ * @remarks
4882
+ * The SDK finds them in the route's geometry once it comes back, so they change nothing the
4883
+ * routing API returns. To find them again with other thresholds, with no new request, pass
4884
+ * the route to core's `withCurveSections`.
4885
+ *
4886
+ * @default The defaults of core's `getCurveSections` and `getCurvyStretchSections`.
4887
+ *
4888
+ * @example
4889
+ * ```typescript
4890
+ * // Only the hard curves, and the stretches of five or more of them
4891
+ * curveDetection: { curve: { maxRadiusInMeters: 100 }, curvyStretch: { minCurveCount: 5 } }
4892
+ * ```
4893
+ */
4894
+ curveDetection?: CurveDetectionOptions;
4764
4895
  /**
4765
4896
  * Maximum number of alternative routes to calculate.
4766
4897
  *
@@ -4789,7 +4920,7 @@ type CalculateRouteParams = CommonServiceParams<CalculateRouteRequestAPI, Calcul
4789
4920
  * @param params - The locations, travel mode and other route calculation options.
4790
4921
  * @returns The calculated routes, with their geometry, distance and travel time.
4791
4922
  *
4792
- * @see [Calculate Route API Documentation](https://docs.tomtom.com/routing-api/documentation/tomtom-maps/calculate-route)
4923
+ * @see [Calculate Route API Documentation](https://docs.tomtom.com/routing-api/documentation/tomtom-orbis-maps/v3/calculate-route)
4793
4924
  *
4794
4925
  * @group Routing
4795
4926
  */
@@ -4890,6 +5021,17 @@ type RouteStopOptions = {
4890
5021
  legCostModel?: LegCostModel;
4891
5022
  };
4892
5023
  //#endregion
5024
+ //#region src/along-route-search/types/alongRouteSearchResponse.d.ts
5025
+ /**
5026
+ * Response from an along-route search query: the places found near the route, sorted by detour
5027
+ * time or offset, with the search summary.
5028
+ *
5029
+ * @typeParam P - The place properties, which carry `detourOffsetInMeters` when sorted by offset.
5030
+ *
5031
+ * @ignore
5032
+ */
5033
+ type AlongRouteSearchResponse<P extends AlongRoutePlaceProps = AlongRoutePlaceProps> = Places<P, SearchSummary>;
5034
+ //#endregion
4893
5035
  //#region src/search/discoverPlaces.d.ts
4894
5036
  /** The keys of `Params` that `Base` lacks, each forbidden. */
4895
5037
  type Without<Params, Base> = { [Key in Exclude<keyof Params, keyof Base>]?: never; };
@@ -4955,12 +5097,20 @@ export type DiscoverPlacesResponse = Places<SearchPlaceProps, FuzzySearchFeature
4955
5097
  * - Geometry search when `geometries` is given, for places inside those areas.
4956
5098
  * - Fuzzy search otherwise, for free text, optionally biased by `geoBias`.
4957
5099
  *
4958
- * @param params - The {@link FuzzySearchParams}, {@link GeometrySearchParams} or {@link AlongRouteSearchParams}.
5100
+ * With a `route`, each result's properties are {@link AlongRoutePlaceProps}, which add the detour a stop
5101
+ * at the place costs.
5102
+ *
5103
+ * @param queryOrParams - A query string, which runs a fuzzy search the same as `{ query }`, or the
5104
+ * {@link FuzzySearchParams}, {@link GeometrySearchParams} or {@link AlongRouteSearchParams}.
5105
+ * Pass the params form to set any other option, `signal` included.
4959
5106
  *
4960
5107
  * @returns The matching places.
4961
5108
  *
4962
5109
  * @example
4963
5110
  * ```typescript
5111
+ * // Free-text search
5112
+ * const cafes = await discoverPlaces('coffee shop Amsterdam');
5113
+ *
4964
5114
  * // Free-text search near a location
4965
5115
  * const results = await discoverPlaces({
4966
5116
  * query: 'pizza restaurant',
@@ -4994,7 +5144,15 @@ export type DiscoverPlacesResponse = Places<SearchPlaceProps, FuzzySearchFeature
4994
5144
  *
4995
5145
  * @group Places Search
4996
5146
  */
4997
- export declare const discoverPlaces: (params: DiscoverPlacesParams) => Promise<DiscoverPlacesResponse>;
5147
+ export declare function discoverPlaces(queryOrParams: Extract<DiscoverPlacesParams, {
5148
+ route: unknown;
5149
+ }> & {
5150
+ sortBy: 'detourOffset';
5151
+ }): Promise<AlongRouteSearchResponse<AlongRoutePlaceProps & Required<Pick<AlongRoutePlaceProps, 'detourOffsetInMeters'>>>>;
5152
+ export declare function discoverPlaces(queryOrParams: Extract<DiscoverPlacesParams, {
5153
+ route: unknown;
5154
+ }>): Promise<AlongRouteSearchResponse>;
5155
+ export declare function discoverPlaces(queryOrParams: string | DiscoverPlacesParams): Promise<DiscoverPlacesResponse>;
4998
5156
  /**
4999
5157
  * Searches for a single place by text query.
5000
5158
  *
@@ -5002,8 +5160,9 @@ export declare const discoverPlaces: (params: DiscoverPlacesParams) => Promise<D
5002
5160
  * results are found.
5003
5161
  *
5004
5162
  * @param queryOrParams - The search query, or the full {@link FuzzySearchParams} without `limit`.
5163
+ * Pass the params form to set any other option, `signal` included.
5005
5164
  * @returns The first matching place.
5006
- * @throws {Error} If no results are found for the query
5165
+ * @throws {SDKError} With the code `NOT_FOUND` and the service `'FuzzySearch'` if no results are found for the query
5007
5166
  *
5008
5167
  * @example
5009
5168
  * ```typescript
@@ -5050,7 +5209,13 @@ type PlaceSuggestion = SuggestionBase & {
5050
5209
  kind: 'place' | 'address' | 'street' | 'area';
5051
5210
  /** The place id, as {@link getPlaceDetails} takes it. */
5052
5211
  id: string;
5053
- /** Lines under the title that tell similar results apart, such as the address. */
5212
+ /**
5213
+ * Lines under the title that tell similar results apart, such as the address.
5214
+ *
5215
+ * The last one is the country, unless it's the home country: that of the place nearest
5216
+ * `geoBias.position`, or, without `geoBias`, the country most places are in. Both are judged over
5217
+ * the up to 10 places the search fetches, not only the suggestions returned.
5218
+ */
5054
5219
  subtitles: string[];
5055
5220
  /** Distance from `geoBias.position`, when one was given. */
5056
5221
  distanceInMeters?: number;
@@ -5525,8 +5690,8 @@ type TrafficIncidentDetailsByBBoxParams = TrafficIncidentDetailsBaseParams & {
5525
5690
  /**
5526
5691
  * The bounding box to query for incidents.
5527
5692
  *
5528
- * It accepts a raw `[minLon, minLat, maxLon, maxLat]` tuple, any GeoJSON object
5529
- * (Feature, FeatureCollection, Geometry, …), or an array of GeoJSON objects. For a GeoJSON
5693
+ * It accepts a {@link BBox} `[west, south, east, north]` (west > east across the antimeridian), any
5694
+ * GeoJSON object (Feature, FeatureCollection, Geometry, …), or an array of GeoJSON objects. For a GeoJSON
5530
5695
  * value, its bounding box is calculated automatically with {@link bboxFromGeoJSON}.
5531
5696
  *
5532
5697
  * It covers at most 10,000 km².
@@ -5682,4 +5847,4 @@ type TrafficIncidentDetailsParams = TrafficIncidentDetailsByBBoxParams | Traffic
5682
5847
  */
5683
5848
  export declare const trafficIncidentDetails: (params: TrafficIncidentDetailsParams) => Promise<TrafficIncidentDetails>;
5684
5849
  //#endregion
5685
- export type { AlongRouteSearchParams, AlongRouteSortBy, AreaAnalyticsDateInput, ArrivalSide, BookmarkIntent, BookmarkIntentDetails, BrandSuggestion, CalculateRouteParams, CategorySuggestion, Circle, CommonServiceParams, CommonServiceParamsWithZoom, ComputeTravelTimeFor, CoordinateIntent, CoordinateIntentDetails, ExtendedRouteRepresentation, FetchInput, FunctionalRoadClass, FuzzyLevel, FuzzySearchParams, GeocodingParams, GeocodingProps, GeocodingResponse, GeometriesInput, GeometryDataParams, GeometryParams, GeometryPlaceParams, GeometrySearchParams, GetObject, GuidanceParams, InputSectionType, InputSectionTypes, LegCostModel, MaxNumberOfAlternatives, NearbyIntent, NearbyIntentDetails, POICategoriesParams, POICategoriesResponse, POICategoryResult, PlaceDetailsMandatoryParams, PlaceDetailsOptionalParams, PlaceDetailsParams, PlaceDetailsResponse, PlaceGeometryProps, PlaceSuggestion, PostObject, QueryIntent, RefinementSuggestion, ResolvePOICategoriesParams, ResolvedPOICategories, ReverseGeocodingMandatoryParams, ReverseGeocodingOptionalParams, ReverseGeocodingParams, ReverseGeocodingResponse, RouteStopOptions, SearchGeometryInput, SearchSuggestion, SearchSuggestionKind, SearchSuggestionsParams, SearchSuggestionsResponse, TrafficAreaAnalyticsDateRange, TrafficAreaAnalyticsDays, TrafficAreaAnalyticsParams, TrafficIncidentDetailsByBBoxParams, TrafficIncidentDetailsByIdsParams, TrafficIncidentDetailsByPolygonParams, TrafficIncidentDetailsParams, W3WIntent, W3WIntentDetails };
5850
+ export type { AlongRoutePlaceProps, AlongRouteSearchParams, AlongRouteSortBy, AreaAnalyticsDateInput, ArrivalSide, BookmarkIntent, BookmarkIntentDetails, BrandSuggestion, CalculateRouteParams, CategorySuggestion, Circle, CommonServiceParams, CommonServiceParamsWithZoom, ComputeTravelTimeFor, CoordinateIntent, CoordinateIntentDetails, ExtendedRouteRepresentation, FetchInput, FunctionalRoadClass, FuzzyLevel, FuzzySearchParams, GeocodingParams, GeocodingProps, GeocodingResponse, GeometriesInput, GeometryDataParams, GeometryParams, GeometryPlaceParams, GeometrySearchParams, GetObject, GuidanceParams, InputSectionType, InputSectionTypes, LegCostModel, MaxNumberOfAlternatives, NearbyIntent, NearbyIntentDetails, POICategoriesParams, POICategoriesResponse, POICategoryResult, PlaceDetailsMandatoryParams, PlaceDetailsOptionalParams, PlaceDetailsParams, PlaceDetailsResponse, PlaceGeometryProps, PlaceSuggestion, PostObject, QueryIntent, RefinementSuggestion, ResolvePOICategoriesParams, ResolvedPOICategories, ReverseGeocodingMandatoryParams, ReverseGeocodingOptionalParams, ReverseGeocodingParams, ReverseGeocodingResponse, RouteStopOptions, SearchGeometryInput, SearchSuggestion, SearchSuggestionKind, SearchSuggestionsParams, SearchSuggestionsResponse, TrafficAreaAnalyticsDateRange, TrafficAreaAnalyticsDays, TrafficAreaAnalyticsParams, TrafficIncidentDetailsByBBoxParams, TrafficIncidentDetailsByIdsParams, TrafficIncidentDetailsByPolygonParams, TrafficIncidentDetailsParams, W3WIntent, W3WIntentDetails };