@tomtom-org/maps-sdk 0.60.0 → 0.62.0

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,181 +1,5 @@
1
- import { AddressProperties, AreaAnalyticsMetricKey, Avoidable, ChargingPark, ChargingParkWithAvailability, ChargingPoint, ChargingStation, ChargingStationsAccessType, ChargingStationsAvailability, ChargingStopProps, CommonPlaceProps, Connector, ConnectorType, CurrentType, EVChargingStationWithAvailabilityPlaceProps, EntryPoint, Fuel, GeographyType, GetPositionEntryPointOption, GlobalConfig, HasBBox, HasLngLat, MapcodeType, OpeningHours, OpeningHoursMode, POICategory, Place, PlaceType, Places, PlugType, PolygonFeature, PolygonFeatures, RevGeoAddressProps, RoadShieldReference, Route, RoutePlanningLocation, Routes, SearchPlaceProps, StaticChargingPoint, TimeZone, TomTomAPIHeaders, TomTomHeaders, TrafficAreaAnalytics, TrafficIncidentDetails, TrafficIncidentRequestCategory, TrafficIncidentTEC, TrafficIncidentTimeValidity, TravelMode, View, inputSectionTypes } from "@tomtom-org/maps-sdk/core";
1
+ import { AddressProperties, AreaAnalyticsMetricKey, Avoidable, ChargingPark, ChargingParkWithAvailability, ChargingPoint, ChargingStation, ChargingStationsAccessType, ChargingStationsAvailability, ChargingStopProps, CommonPlaceProps, Connector, ConnectorType, CurrentType, EVChargingStationWithAvailabilityPlaceProps, EntryPoint, Fuel, GeographyType, GeopoliticalView, GetPositionEntryPointOption, GlobalConfig, HasBBox, HasLngLat, MapcodeType, OpeningHours, OpeningHoursMode, POICategory, Place, PlaceType, Places, PlugType, PolygonFeature, PolygonFeatures, ReachableRangeBudget, RevGeoAddressProps, RoadShieldReference, Route, RoutePlanningLocation, Routes, SearchPlaceProps, StaticChargingPoint, TimeZone, TomTomAPIHeaders, TomTomHeaders, TrafficAreaAnalytics, TrafficIncidentDetails, TrafficIncidentRequestCategory, TrafficIncidentTEC, TrafficIncidentTimeValidity, TravelMode, inputSectionTypes } from "@tomtom-org/maps-sdk/core";
2
2
  import { ZodError, ZodIssue, ZodObject } from "zod";
3
- //#region ../node_modules/.pnpm/@types+geojson@7946.0.16/node_modules/@types/geojson/index.d.ts
4
- /**
5
- * The value values for the "type" property of GeoJSON Objects.
6
- * https://tools.ietf.org/html/rfc7946#section-1.4
7
- */
8
- type GeoJsonTypes = GeoJSON["type"];
9
- /**
10
- * Bounding box
11
- * https://tools.ietf.org/html/rfc7946#section-5
12
- */
13
- type BBox = [number, number, number, number] | [number, number, number, number, number, number];
14
- /**
15
- * A Position is an array of coordinates.
16
- * https://tools.ietf.org/html/rfc7946#section-3.1.1
17
- * Array should contain between two and three elements.
18
- * The previous GeoJSON specification allowed more elements (e.g., which could be used to represent M values),
19
- * but the current specification only allows X, Y, and (optionally) Z to be defined.
20
- *
21
- * Note: the type will not be narrowed down to `[number, number] | [number, number, number]` due to
22
- * marginal benefits and the large impact of breaking change.
23
- *
24
- * See previous discussions on the type narrowing:
25
- * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/pull/21590|Nov 2017}
26
- * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/67773|Dec 2023}
27
- * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/71441| Dec 2024}
28
- *
29
- * One can use a
30
- * {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates|user-defined type guard that returns a type predicate}
31
- * to determine if a position is a 2D or 3D position.
32
- *
33
- * @example
34
- * import type { Position } from 'geojson';
35
- *
36
- * type StrictPosition = [x: number, y: number] | [x: number, y: number, z: number]
37
- *
38
- * function isStrictPosition(position: Position): position is StrictPosition {
39
- * return position.length === 2 || position.length === 3
40
- * };
41
- *
42
- * let position: Position = [-116.91, 45.54];
43
- *
44
- * let x: number;
45
- * let y: number;
46
- * let z: number | undefined;
47
- *
48
- * if (isStrictPosition(position)) {
49
- * // `tsc` would throw an error if we tried to destructure a fourth parameter
50
- * [x, y, z] = position;
51
- * } else {
52
- * throw new TypeError("Position is not a 2D or 3D point");
53
- * }
54
- */
55
- type Position = number[];
56
- /**
57
- * The base GeoJSON object.
58
- * https://tools.ietf.org/html/rfc7946#section-3
59
- * The GeoJSON specification also allows foreign members
60
- * (https://tools.ietf.org/html/rfc7946#section-6.1)
61
- * Developers should use "&" type in TypeScript or extend the interface
62
- * to add these foreign members.
63
- */
64
- interface GeoJsonObject {
65
- // Don't include foreign members directly into this type def.
66
- // in order to preserve type safety.
67
- // [key: string]: any;
68
- /**
69
- * Specifies the type of GeoJSON object.
70
- */
71
- type: GeoJsonTypes;
72
- /**
73
- * Bounding box of the coordinate range of the object's Geometries, Features, or Feature Collections.
74
- * The value of the bbox member is an array of length 2*n where n is the number of dimensions
75
- * represented in the contained geometries, with all axes of the most southwesterly point
76
- * followed by all axes of the more northeasterly point.
77
- * The axes order of a bbox follows the axes order of geometries.
78
- * https://tools.ietf.org/html/rfc7946#section-5
79
- */
80
- bbox?: BBox | undefined;
81
- }
82
- /**
83
- * Union of GeoJSON objects.
84
- */
85
- type GeoJSON<G extends Geometry | null = Geometry, P = GeoJsonProperties> = G | Feature<G, P> | FeatureCollection<G, P>;
86
- /**
87
- * Geometry object.
88
- * https://tools.ietf.org/html/rfc7946#section-3
89
- */
90
- type Geometry = Point | MultiPoint | LineString | MultiLineString | Polygon | MultiPolygon | GeometryCollection;
91
- /**
92
- * Point geometry object.
93
- * https://tools.ietf.org/html/rfc7946#section-3.1.2
94
- */
95
- interface Point extends GeoJsonObject {
96
- type: "Point";
97
- coordinates: Position;
98
- }
99
- /**
100
- * MultiPoint geometry object.
101
- * https://tools.ietf.org/html/rfc7946#section-3.1.3
102
- */
103
- interface MultiPoint extends GeoJsonObject {
104
- type: "MultiPoint";
105
- coordinates: Position[];
106
- }
107
- /**
108
- * LineString geometry object.
109
- * https://tools.ietf.org/html/rfc7946#section-3.1.4
110
- */
111
- interface LineString extends GeoJsonObject {
112
- type: "LineString";
113
- coordinates: Position[];
114
- }
115
- /**
116
- * MultiLineString geometry object.
117
- * https://tools.ietf.org/html/rfc7946#section-3.1.5
118
- */
119
- interface MultiLineString extends GeoJsonObject {
120
- type: "MultiLineString";
121
- coordinates: Position[][];
122
- }
123
- /**
124
- * Polygon geometry object.
125
- * https://tools.ietf.org/html/rfc7946#section-3.1.6
126
- */
127
- interface Polygon extends GeoJsonObject {
128
- type: "Polygon";
129
- coordinates: Position[][];
130
- }
131
- /**
132
- * MultiPolygon geometry object.
133
- * https://tools.ietf.org/html/rfc7946#section-3.1.7
134
- */
135
- interface MultiPolygon extends GeoJsonObject {
136
- type: "MultiPolygon";
137
- coordinates: Position[][][];
138
- }
139
- /**
140
- * Geometry Collection
141
- * https://tools.ietf.org/html/rfc7946#section-3.1.8
142
- */
143
- interface GeometryCollection<G extends Geometry = Geometry> extends GeoJsonObject {
144
- type: "GeometryCollection";
145
- geometries: G[];
146
- }
147
- type GeoJsonProperties = {
148
- [name: string]: any;
149
- } | null;
150
- /**
151
- * A feature object which contains a geometry and associated properties.
152
- * https://tools.ietf.org/html/rfc7946#section-3.2
153
- */
154
- interface Feature<G extends Geometry | null = Geometry, P = GeoJsonProperties> extends GeoJsonObject {
155
- type: "Feature";
156
- /**
157
- * The feature's geometry
158
- */
159
- geometry: G;
160
- /**
161
- * A value that uniquely identifies this feature in a
162
- * https://tools.ietf.org/html/rfc7946#section-3.2.
163
- */
164
- id?: string | number | undefined;
165
- /**
166
- * Properties associated with this feature.
167
- */
168
- properties: P;
169
- }
170
- /**
171
- * A collection of feature objects.
172
- * https://tools.ietf.org/html/rfc7946#section-3.3
173
- */
174
- interface FeatureCollection<G extends Geometry | null = Geometry, P = GeoJsonProperties> extends GeoJsonObject {
175
- type: "FeatureCollection";
176
- features: Array<Feature<G, P>>;
177
- }
178
- //#endregion
179
3
  //#region src/shared/types/apiResponseErrorTypes.d.ts
180
4
  /**
181
5
  * @ignore
@@ -748,10 +572,9 @@ export type SearchIndexType = 'Geo' | 'PAD' | 'Addr' | 'Str' | 'XStr' | 'POI';
748
572
  *
749
573
  * @remarks
750
574
  * **Applied to Services:**
751
- * - {@link discoverPlaces} and {@link fuzzySearch}
575
+ * - {@link discoverPlaces}
752
576
  * - {@link geocode}
753
577
  * - {@link reverseGeocode}
754
- * - {@link geometrySearch}
755
578
  *
756
579
  * **Key Features:**
757
580
  * - Result limits and pagination
@@ -763,7 +586,7 @@ export type SearchIndexType = 'Geo' | 'PAD' | 'Addr' | 'Str' | 'XStr' | 'POI';
763
586
  * ```typescript
764
587
  * // Search with mapcodes and specific geopolitical view
765
588
  * const detailedSearch: CommonPlacesParams<URL, Response> = {
766
- * view: 'IN', // India's perspective
589
+ * geopoliticalView: 'IN', // India's perspective
767
590
  * mapcodes: ['Local', 'International'],
768
591
  * extendedPostalCodesFor: ['PAD', 'POI'],
769
592
  * limit: 5
@@ -864,48 +687,6 @@ export type CommonPlacesParams<ApiRequest, ApiResponse> = CommonServiceParams<Ap
864
687
  * ```
865
688
  */
866
689
  mapcodes?: MapcodeType[];
867
- /**
868
- * Geopolitical view for disputed territories.
869
- *
870
- * Determines how borders and place names are displayed for disputed
871
- * territories, according to different countries' perspectives.
872
- *
873
- * @remarks
874
- * **Available Views:**
875
- * - `Unified`: International/neutral view (default)
876
- * - `AR`: Argentina's perspective
877
- * - `IN`: India's perspective
878
- * - `PK`: Pakistan's perspective
879
- * - `IL`: Israel's perspective
880
- * - `MA`: Morocco's perspective
881
- * - `RU`: Russia's perspective
882
- * - `TR`: Turkey's perspective
883
- * - `CN`: China's perspective
884
- * - `TW`: Taiwan's perspective
885
- * - `RS`: Serbia's perspective
886
- *
887
- * `MA` is accepted by this type but is not supported by the current backend.
888
- *
889
- * **Affected Elements:**
890
- * - Border lines on maps
891
- * - Territory names
892
- * - Administrative classifications
893
- * - Place name spellings
894
- *
895
- * **Legal Compliance:**
896
- * Use appropriate views based on your target audience and
897
- * legal requirements in different regions.
898
- *
899
- * @default 'Unified'
900
- *
901
- * @example
902
- * ```typescript
903
- * view: 'Unified' // Neutral international view
904
- * view: 'IN' // India's perspective
905
- * view: 'CN' // China's perspective
906
- * ```
907
- */
908
- view?: View;
909
690
  };
910
691
  //#endregion
911
692
  //#region src/shared/types/searchFilters.d.ts
@@ -976,7 +757,7 @@ export type SearchFilters = PlaceFilters & GeographicFilters;
976
757
  *
977
758
  * @remarks
978
759
  * Used by:
979
- * - {@link fuzzySearch}
760
+ * - {@link discoverPlaces}
980
761
  * - {@link geocode}
981
762
  *
982
763
  * @group Places Search
@@ -2216,7 +1997,7 @@ export type ElectricVehicleParams = {
2216
1997
  * @remarks
2217
1998
  * Should include battery capacity, charging curve, and consumption profiles. A predefined
2218
1999
  * `variantId` is accepted here, but only `calculateRoute` with charging preferences understands
2219
- * one — a range or a matrix has no charging stops to plan for.
2000
+ * one — a range has no charging stops to plan for.
2220
2001
  */
2221
2002
  model?: VehicleModel<'electric'>;
2222
2003
  /**
@@ -2599,8 +2380,8 @@ export type DepartArriveParams<Option extends DepartArriveOption = DepartArriveO
2599
2380
  * They provide a consistent interface across different routing services.
2600
2381
  *
2601
2382
  * @remarks
2602
- * Most routing services (calculateRoute, calculateMatrixRoute, calculateReachableRange)
2603
- * accept these parameters to customize route calculation. They control:
2383
+ * Both routing services (calculateRoute, calculateReachableRange) accept these parameters
2384
+ * to customize route calculation. They control:
2604
2385
  * - What to optimize for (time, distance, fuel)
2605
2386
  * - Vehicle constraints and capabilities
2606
2387
  * - When to travel (affecting traffic)
@@ -2609,7 +2390,6 @@ export type DepartArriveParams<Option extends DepartArriveOption = DepartArriveO
2609
2390
  *
2610
2391
  * **Service Compatibility:**
2611
2392
  * - {@link calculateRoute}: All parameters supported
2612
- * - {@link calculateMatrixRoute}: Subset of parameters
2613
2393
  * - {@link calculateReachableRange}: Subset of parameters
2614
2394
  *
2615
2395
  * @example
@@ -2772,10 +2552,7 @@ export type TimeZoneRequest = 'iana';
2772
2552
  * @typeParam ApiResponse - The API response type
2773
2553
  *
2774
2554
  * @remarks
2775
- * Used by:
2776
- * - {@link discoverPlaces}
2777
- * - {@link fuzzySearch}
2778
- * - {@link geometrySearch}
2555
+ * Used by {@link discoverPlaces}.
2779
2556
  *
2780
2557
  * Provides:
2781
2558
  * - POI category, brand, EV charging and fuel type filters (`filters`)
@@ -2897,58 +2674,232 @@ export type CommonSearchParams<ApiRequest, ApiResponse> = CommonPlacesParams<Api
2897
2674
  relatedPois?: RelatedPoisRequest;
2898
2675
  };
2899
2676
  //#endregion
2900
- //#region src/shared/types/searchSummary.d.ts
2677
+ //#region ../node_modules/.pnpm/@types+geojson@7946.0.16/node_modules/@types/geojson/index.d.ts
2901
2678
  /**
2902
- * Query type classification for search results.
2903
- *
2904
- * Indicates whether the search was location-based or general.
2905
- *
2906
- * @remarks
2907
- * - `NEARBY`: Results are based on proximity to a specified location (uses `at` parameter)
2908
- * - `NON_NEAR`: General search without location bias, or results span a wide area
2909
- *
2910
- * @group Places Search
2679
+ * The value values for the "type" property of GeoJSON Objects.
2680
+ * https://tools.ietf.org/html/rfc7946#section-1.4
2911
2681
  */
2912
- type SummaryQueryType = 'NEARBY' | 'NON_NEAR';
2682
+ type GeoJsonTypes = GeoJSON["type"];
2913
2683
  /**
2914
- * Metadata summary for search API responses.
2684
+ * Bounding box
2685
+ * https://tools.ietf.org/html/rfc7946#section-5
2686
+ */
2687
+ type BBox = [number, number, number, number] | [number, number, number, number, number, number];
2688
+ /**
2689
+ * A Position is an array of coordinates.
2690
+ * https://tools.ietf.org/html/rfc7946#section-3.1.1
2691
+ * Array should contain between two and three elements.
2692
+ * The previous GeoJSON specification allowed more elements (e.g., which could be used to represent M values),
2693
+ * but the current specification only allows X, Y, and (optionally) Z to be defined.
2915
2694
  *
2916
- * Provides information about the search query execution, result counts, and the cursor that
2917
- * continues the search. This metadata helps understand how the search was processed and page
2918
- * through results.
2695
+ * Note: the type will not be narrowed down to `[number, number] | [number, number, number]` due to
2696
+ * marginal benefits and the large impact of breaking change.
2919
2697
  *
2920
- * @remarks
2921
- * This summary is included in responses from:
2922
- * - {@link discoverPlaces}
2923
- * - {@link fuzzySearch}
2924
- * - {@link geometrySearch}
2925
- * - {@link geocode}
2698
+ * See previous discussions on the type narrowing:
2699
+ * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/pull/21590|Nov 2017}
2700
+ * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/67773|Dec 2023}
2701
+ * - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/71441| Dec 2024}
2702
+ *
2703
+ * One can use a
2704
+ * {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates|user-defined type guard that returns a type predicate}
2705
+ * to determine if a position is a 2D or 3D position.
2926
2706
  *
2927
2707
  * @example
2928
- * ```typescript
2929
- * const results = await discoverPlaces({
2930
- * query: 'pizza',
2931
- * geoBias: { position: [4.9, 52.3] }
2932
- * });
2708
+ * import type { Position } from 'geojson';
2933
2709
  *
2934
- * const summary = results.properties;
2935
- * console.log(`Found ${summary?.totalResults ?? 'an unknown number of'} total results`);
2936
- * console.log(`Showing ${summary?.numResults} results`);
2937
- * console.log(`Query type: ${summary?.queryType}`); // 'NEARBY'
2938
- * console.log(`Search took ${summary?.queryTime}ms`);
2939
- * ```
2710
+ * type StrictPosition = [x: number, y: number] | [x: number, y: number, z: number]
2940
2711
  *
2941
- * @group Places Search
2942
- */
2943
- export type SearchSummary = {
2944
- /**
2945
- * The search query as interpreted and processed by the search engine.
2946
- *
2947
- * May differ from the original input due to:
2948
- * - Normalization (case, spacing, diacritics)
2949
- * - Spelling corrections
2950
- * - Query expansion
2951
- * - Stop word removal
2712
+ * function isStrictPosition(position: Position): position is StrictPosition {
2713
+ * return position.length === 2 || position.length === 3
2714
+ * };
2715
+ *
2716
+ * let position: Position = [-116.91, 45.54];
2717
+ *
2718
+ * let x: number;
2719
+ * let y: number;
2720
+ * let z: number | undefined;
2721
+ *
2722
+ * if (isStrictPosition(position)) {
2723
+ * // `tsc` would throw an error if we tried to destructure a fourth parameter
2724
+ * [x, y, z] = position;
2725
+ * } else {
2726
+ * throw new TypeError("Position is not a 2D or 3D point");
2727
+ * }
2728
+ */
2729
+ type Position = number[];
2730
+ /**
2731
+ * The base GeoJSON object.
2732
+ * https://tools.ietf.org/html/rfc7946#section-3
2733
+ * The GeoJSON specification also allows foreign members
2734
+ * (https://tools.ietf.org/html/rfc7946#section-6.1)
2735
+ * Developers should use "&" type in TypeScript or extend the interface
2736
+ * to add these foreign members.
2737
+ */
2738
+ interface GeoJsonObject {
2739
+ // Don't include foreign members directly into this type def.
2740
+ // in order to preserve type safety.
2741
+ // [key: string]: any;
2742
+ /**
2743
+ * Specifies the type of GeoJSON object.
2744
+ */
2745
+ type: GeoJsonTypes;
2746
+ /**
2747
+ * Bounding box of the coordinate range of the object's Geometries, Features, or Feature Collections.
2748
+ * The value of the bbox member is an array of length 2*n where n is the number of dimensions
2749
+ * represented in the contained geometries, with all axes of the most southwesterly point
2750
+ * followed by all axes of the more northeasterly point.
2751
+ * The axes order of a bbox follows the axes order of geometries.
2752
+ * https://tools.ietf.org/html/rfc7946#section-5
2753
+ */
2754
+ bbox?: BBox | undefined;
2755
+ }
2756
+ /**
2757
+ * Union of GeoJSON objects.
2758
+ */
2759
+ type GeoJSON<G extends Geometry | null = Geometry, P = GeoJsonProperties> = G | Feature<G, P> | FeatureCollection<G, P>;
2760
+ /**
2761
+ * Geometry object.
2762
+ * https://tools.ietf.org/html/rfc7946#section-3
2763
+ */
2764
+ type Geometry = Point | MultiPoint | LineString | MultiLineString | Polygon | MultiPolygon | GeometryCollection;
2765
+ /**
2766
+ * Point geometry object.
2767
+ * https://tools.ietf.org/html/rfc7946#section-3.1.2
2768
+ */
2769
+ interface Point extends GeoJsonObject {
2770
+ type: "Point";
2771
+ coordinates: Position;
2772
+ }
2773
+ /**
2774
+ * MultiPoint geometry object.
2775
+ * https://tools.ietf.org/html/rfc7946#section-3.1.3
2776
+ */
2777
+ interface MultiPoint extends GeoJsonObject {
2778
+ type: "MultiPoint";
2779
+ coordinates: Position[];
2780
+ }
2781
+ /**
2782
+ * LineString geometry object.
2783
+ * https://tools.ietf.org/html/rfc7946#section-3.1.4
2784
+ */
2785
+ interface LineString extends GeoJsonObject {
2786
+ type: "LineString";
2787
+ coordinates: Position[];
2788
+ }
2789
+ /**
2790
+ * MultiLineString geometry object.
2791
+ * https://tools.ietf.org/html/rfc7946#section-3.1.5
2792
+ */
2793
+ interface MultiLineString extends GeoJsonObject {
2794
+ type: "MultiLineString";
2795
+ coordinates: Position[][];
2796
+ }
2797
+ /**
2798
+ * Polygon geometry object.
2799
+ * https://tools.ietf.org/html/rfc7946#section-3.1.6
2800
+ */
2801
+ interface Polygon extends GeoJsonObject {
2802
+ type: "Polygon";
2803
+ coordinates: Position[][];
2804
+ }
2805
+ /**
2806
+ * MultiPolygon geometry object.
2807
+ * https://tools.ietf.org/html/rfc7946#section-3.1.7
2808
+ */
2809
+ interface MultiPolygon extends GeoJsonObject {
2810
+ type: "MultiPolygon";
2811
+ coordinates: Position[][][];
2812
+ }
2813
+ /**
2814
+ * Geometry Collection
2815
+ * https://tools.ietf.org/html/rfc7946#section-3.1.8
2816
+ */
2817
+ interface GeometryCollection<G extends Geometry = Geometry> extends GeoJsonObject {
2818
+ type: "GeometryCollection";
2819
+ geometries: G[];
2820
+ }
2821
+ type GeoJsonProperties = {
2822
+ [name: string]: any;
2823
+ } | null;
2824
+ /**
2825
+ * A feature object which contains a geometry and associated properties.
2826
+ * https://tools.ietf.org/html/rfc7946#section-3.2
2827
+ */
2828
+ interface Feature<G extends Geometry | null = Geometry, P = GeoJsonProperties> extends GeoJsonObject {
2829
+ type: "Feature";
2830
+ /**
2831
+ * The feature's geometry
2832
+ */
2833
+ geometry: G;
2834
+ /**
2835
+ * A value that uniquely identifies this feature in a
2836
+ * https://tools.ietf.org/html/rfc7946#section-3.2.
2837
+ */
2838
+ id?: string | number | undefined;
2839
+ /**
2840
+ * Properties associated with this feature.
2841
+ */
2842
+ properties: P;
2843
+ }
2844
+ /**
2845
+ * A collection of feature objects.
2846
+ * https://tools.ietf.org/html/rfc7946#section-3.3
2847
+ */
2848
+ interface FeatureCollection<G extends Geometry | null = Geometry, P = GeoJsonProperties> extends GeoJsonObject {
2849
+ type: "FeatureCollection";
2850
+ features: Array<Feature<G, P>>;
2851
+ }
2852
+ //#endregion
2853
+ //#region src/shared/types/searchSummary.d.ts
2854
+ /**
2855
+ * Query type classification for search results.
2856
+ *
2857
+ * Indicates whether the search was location-based or general.
2858
+ *
2859
+ * @remarks
2860
+ * - `NEARBY`: Results are based on proximity to a specified location (uses `at` parameter)
2861
+ * - `NON_NEAR`: General search without location bias, or results span a wide area
2862
+ *
2863
+ * @group Places Search
2864
+ */
2865
+ type SummaryQueryType = 'NEARBY' | 'NON_NEAR';
2866
+ /**
2867
+ * Metadata summary for search API responses.
2868
+ *
2869
+ * Provides information about the search query execution, result counts, and the cursor that
2870
+ * continues the search. This metadata helps understand how the search was processed and page
2871
+ * through results.
2872
+ *
2873
+ * @remarks
2874
+ * This summary is included in responses from:
2875
+ * - {@link discoverPlaces}
2876
+ * - {@link geocode}
2877
+ *
2878
+ * @example
2879
+ * ```typescript
2880
+ * const results = await discoverPlaces({
2881
+ * query: 'pizza',
2882
+ * geoBias: { position: [4.9, 52.3] }
2883
+ * });
2884
+ *
2885
+ * const summary = results.properties;
2886
+ * console.log(`Found ${summary?.totalResults ?? 'an unknown number of'} total results`);
2887
+ * console.log(`Showing ${summary?.numResults} results`);
2888
+ * console.log(`Query type: ${summary?.queryType}`); // 'NEARBY'
2889
+ * console.log(`Search took ${summary?.queryTime}ms`);
2890
+ * ```
2891
+ *
2892
+ * @group Places Search
2893
+ */
2894
+ export type SearchSummary = {
2895
+ /**
2896
+ * The search query as interpreted and processed by the search engine.
2897
+ *
2898
+ * May differ from the original input due to:
2899
+ * - Normalization (case, spacing, diacritics)
2900
+ * - Spelling corrections
2901
+ * - Query expansion
2902
+ * - Stop word removal
2952
2903
  *
2953
2904
  * @example
2954
2905
  * ```typescript
@@ -3076,28 +3027,6 @@ export type SearchSummary = {
3076
3027
  geoBias?: Position;
3077
3028
  };
3078
3029
  //#endregion
3079
- //#region src/along-route-search/types/alongRouteSearchRequestAPI.d.ts
3080
- /**
3081
- * @ignore
3082
- */
3083
- type RoutePointAPI = {
3084
- lat: number;
3085
- lon: number;
3086
- };
3087
- /**
3088
- * @ignore
3089
- */
3090
- type AlongRouteSearchPayloadAPI = {
3091
- route: {
3092
- points: RoutePointAPI[];
3093
- };
3094
- };
3095
- /**
3096
- * Along-route search request type.
3097
- * @ignore
3098
- */
3099
- type AlongRouteSearchRequestAPI = PostObject<AlongRouteSearchPayloadAPI>;
3100
- //#endregion
3101
3030
  //#region src/shared/types/apiPlacesResponseTypes.d.ts
3102
3031
  /**
3103
3032
  * @ignore
@@ -3272,228 +3201,50 @@ type CommonSearchPlaceResultAPI = Omit<SearchPlaceProps, 'distance' | 'position'
3272
3201
  chargingStations?: ChargingStationAPI[];
3273
3202
  };
3274
3203
  //#endregion
3275
- //#region src/along-route-search/types/alongRouteSearchResponseAPI.d.ts
3204
+ //#region src/ev-charging-stations-availability/types/apiTypes.d.ts
3276
3205
  /**
3277
3206
  * @ignore
3278
3207
  */
3279
- type AlongRouteSearchResultAPI = CommonSearchPlaceResultAPI;
3208
+ type EVChargingStationResultAPI = {
3209
+ id: string;
3210
+ name: string;
3211
+ position: LatLonAPI;
3212
+ openingHours: OpeningHoursAPI;
3213
+ timeZone: TimeZone;
3214
+ accessType: ChargingStationsAccessType;
3215
+ chargingStations: ChargingStationAPI<Pick<ChargingPoint, 'status'>>[];
3216
+ };
3280
3217
  /**
3281
3218
  * @ignore
3282
3219
  */
3283
- type AlongRouteSearchResponseAPI = {
3284
- /**
3285
- * Summary information about the search that was performed.
3286
- */
3287
- summary: SummaryAPI$1;
3288
- /**
3289
- * The result list, sorted by detour time or offset.
3290
- */
3291
- results: AlongRouteSearchResultAPI[];
3220
+ type ChargingStationsAvailabilityResponseAPI = {
3221
+ summary: {
3222
+ numResults: number;
3223
+ offset: number;
3224
+ totalResults: number;
3225
+ };
3226
+ results?: EVChargingStationResultAPI[];
3292
3227
  };
3293
3228
  //#endregion
3294
- //#region src/along-route-search/types/alongRouteSearchParams.d.ts
3229
+ //#region src/ev-charging-stations-availability/types/evChargingStationsAvailabilityParams.d.ts
3295
3230
  /**
3296
- * Result sorting order for along-route search.
3231
+ * Parameters for the EV Charging Stations Availability service.
3297
3232
  *
3298
- * Controls how the returned POIs are ordered relative to the route.
3233
+ * Fetches real-time availability status of charging points at an EV charging park.
3299
3234
  *
3300
3235
  * @remarks
3301
- * Pass these to {@link discoverPlaces}, which selects the request variant from the params it is given:
3302
- * a `route` property dispatches to along-route search, a `geometries` property to geometry search,
3303
- * and neither to fuzzy search. {@link alongRouteSearch} is also exported directly.
3304
- *
3305
- * - `detourTime`: Sort by additional travel time required to visit the POI (default)
3306
- * - `detourOffset`: Sort by how far along the route the detour point falls
3307
- *
3308
- * @group Along Route Search
3309
- */
3310
- type AlongRouteSortBy = 'detourTime' | 'detourOffset';
3311
- /**
3312
- * Parameters for searching places along a route.
3313
- *
3314
- * Along-route search finds POIs near a provided route geometry and ranks them
3315
- * by the detour cost (time or distance offset) required to visit them.
3316
- *
3317
- * @remarks
3318
- * **Key Features:**
3319
- * - Search for POIs within a detour budget from the route
3320
- * - Sort results by detour time or route offset
3321
- * - Combine with POI category and brand filters
3322
- * - Use directly with a {@link calculateRoute} result
3323
- *
3324
- * **Use Cases:**
3325
- * - Find fuel stations or EV chargers along a trip
3326
- * - Locate rest stops or restaurants near a route
3327
- * - Surface services reachable within a time budget
3328
- *
3329
- * @example
3330
- * ```typescript
3331
- * // Find coffee shops within a 5-minute detour from a route
3332
- * const results = await discoverPlaces({
3333
- * route: routeResult.features[0],
3334
- * maxDetourTimeSeconds: 300,
3335
- * query: 'coffee',
3336
- * });
3337
- *
3338
- * // Find EV charging stations using a plain coordinate array
3339
- * const chargers = await discoverPlaces({
3340
- * route: [[4.9, 52.37], [4.95, 52.28], [5.1, 52.09]],
3341
- * maxDetourTimeSeconds: 600,
3342
- * filters: { poiCategories: ['CHARGING_LOCATION'] },
3343
- * sortBy: 'detourOffset',
3344
- * });
3345
- * ```
3346
- *
3347
- * @group Along Route Search
3348
- */
3349
- type AlongRouteSearchParams = CommonSearchParams<AlongRouteSearchRequestAPI, AlongRouteSearchResponseAPI> & {
3350
- /**
3351
- * Route geometry to search along.
3352
- *
3353
- * Accepts any of three forms:
3354
- * - **`Route`** feature as returned by {@link calculateRoute} (most common)
3355
- * - **`LineString`** GeoJSON geometry object
3356
- * - **`Position[]`** — a plain array of `[longitude, latitude]` coordinate pairs
3357
- *
3358
- * Coordinates must always be in `[longitude, latitude]` order.
3359
- *
3360
- * @example
3361
- * ```typescript
3362
- * // Route Feature from calculateRoute (most common)
3363
- * route: routeResult.features[0]
3364
- *
3365
- * // GeoJSON LineString geometry
3366
- * route: routeResult.features[0].geometry
3367
- *
3368
- * // Plain coordinate array
3369
- * route: [[4.9, 52.37], [4.95, 52.28], [5.1, 52.09]]
3370
- * ```
3371
- */
3372
- route: LineString | Route | Position[];
3373
- /**
3374
- * Maximum allowed detour time in seconds.
3375
- *
3376
- * Only POIs reachable within this additional travel time from the route
3377
- * will be returned. Controls the width of the search corridor.
3378
- *
3379
- * @example
3380
- * ```typescript
3381
- * maxDetourTimeSeconds: 300 // 5-minute detour budget
3382
- * ```
3383
- */
3384
- maxDetourTimeSeconds: number;
3385
- /**
3386
- * Sort order for the results.
3387
- *
3388
- * @default 'detourTime'
3389
- *
3390
- * @example
3391
- * ```typescript
3392
- * sortBy: 'detourOffset' // order by position along the route
3393
- * ```
3394
- */
3395
- sortBy?: AlongRouteSortBy;
3396
- };
3397
- //#endregion
3398
- //#region src/along-route-search/types/alongRouteSearchResponse.d.ts
3399
- /**
3400
- * Response from an along-route search query.
3401
- *
3402
- * Contains places found near the route, sorted by detour time or offset,
3403
- * along with summary information about the search results.
3404
- *
3405
- * @group Along Route Search
3406
- */
3407
- type AlongRouteSearchResponse = Places<SearchPlaceProps, SearchSummary>;
3408
- //#endregion
3409
- //#region src/along-route-search/alongRouteSearch.d.ts
3410
- /**
3411
- * Search for places along a route, ranked by detour cost.
3412
- *
3413
- * Returns POIs reachable within a given detour budget from the provided route geometry.
3414
- * Results are sorted by detour time (or offset along the route) so the most
3415
- * accessible stops appear first.
3416
- *
3417
- * @remarks
3418
- * This service is ideal for trip planning use cases:
3419
- * - Find fuel or EV charging stations along the way
3420
- * - Locate food stops or rest areas near the route
3421
- * - Surface services reachable within a time budget
3422
- *
3423
- * The `route` is typically sourced from a {@link calculateRoute} result.
3424
- *
3425
- * @param params Along-route search parameters including the route geometry and detour budget
3426
- *
3427
- * @returns Promise resolving to a collection of matching places sorted by detour cost
3428
- *
3429
- * @example
3430
- * ```typescript
3431
- * // Find coffee shops within a 5-minute detour
3432
- * const results = await alongRouteSearch({
3433
- * route: routeResult.features[0].geometry,
3434
- * maxDetourTimeSeconds: 300,
3435
- * query: 'coffee',
3436
- * });
3437
- *
3438
- * // EV chargers with a 10-minute budget, sorted by position on route
3439
- * const chargers = await alongRouteSearch({
3440
- * route: routeResult.features[0].geometry,
3441
- * maxDetourTimeSeconds: 600,
3442
- * filters: { poiCategories: ['CHARGING_LOCATION'] },
3443
- * sortBy: 'detourOffset',
3444
- * });
3445
- * ```
3446
- *
3447
- * @see [Along Route Search API Documentation](https://docs.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/along-route-search)
3448
- *
3449
- * @ignore (exposed via 'search')
3450
- */
3451
- export declare const alongRouteSearch: (params: AlongRouteSearchParams) => Promise<AlongRouteSearchResponse>;
3452
- //#endregion
3453
- //#region src/ev-charging-stations-availability/types/apiTypes.d.ts
3454
- /**
3455
- * @ignore
3456
- */
3457
- type EVChargingStationResultAPI = {
3458
- id: string;
3459
- name: string;
3460
- position: LatLonAPI;
3461
- openingHours: OpeningHoursAPI;
3462
- timeZone: TimeZone;
3463
- accessType: ChargingStationsAccessType;
3464
- chargingStations: ChargingStationAPI<Pick<ChargingPoint, 'status'>>[];
3465
- };
3466
- /**
3467
- * @ignore
3468
- */
3469
- type ChargingStationsAvailabilityResponseAPI = {
3470
- summary: {
3471
- numResults: number;
3472
- offset: number;
3473
- totalResults: number;
3474
- };
3475
- results?: EVChargingStationResultAPI[];
3476
- };
3477
- //#endregion
3478
- //#region src/ev-charging-stations-availability/types/evChargingStationsAvailabilityParams.d.ts
3479
- /**
3480
- * Parameters for the EV Charging Stations Availability service.
3481
- *
3482
- * Fetches real-time availability status of charging points at an EV charging park.
3483
- *
3484
- * @remarks
3485
- * **Key Information Returned:**
3486
- * - Charging point availability status (Available, Occupied, Reserved, Out of Service)
3487
- * - Connector details (power ratings, plug types)
3488
- * - Aggregated availability counts
3489
- * - Access restrictions
3490
- * - Opening hours
3236
+ * **Key Information Returned:**
3237
+ * - Charging point availability status (Available, Occupied, Reserved, Out of Service)
3238
+ * - Connector details (power ratings, plug types)
3239
+ * - Aggregated availability counts
3240
+ * - Access restrictions
3241
+ * - Opening hours
3491
3242
  *
3492
3243
  * @example
3493
3244
  * ```typescript
3494
3245
  * // Basic usage
3495
3246
  * const params: ChargingStationsAvailabilityParams = {
3496
- * key: 'your-api-key',
3247
+ * apiKey: 'your-api-key',
3497
3248
  * id: 'charging-park-id-from-search'
3498
3249
  * };
3499
3250
  *
@@ -3502,7 +3253,7 @@ type ChargingStationsAvailabilityResponseAPI = {
3502
3253
  * const chargingParkId = searchResult.features[0].properties.dataSources?.chargingAvailability?.id;
3503
3254
  *
3504
3255
  * const params: ChargingStationsAvailabilityParams = {
3505
- * key: 'your-api-key',
3256
+ * apiKey: 'your-api-key',
3506
3257
  * id: chargingParkId
3507
3258
  * };
3508
3259
  * ```
@@ -3534,6 +3285,31 @@ type ChargingStationsAvailabilityParams = CommonServiceParams<URL, ChargingStati
3534
3285
  */
3535
3286
  id: string;
3536
3287
  };
3288
+ /**
3289
+ * Options of {@link getPlacesWithEVAvailability}: the common service parameters forwarded to each
3290
+ * availability request, how many of those requests may be in flight at once, and what to do with
3291
+ * the places left without availability.
3292
+ *
3293
+ * @group EV Charging
3294
+ */
3295
+ type PlacesWithEVAvailabilityOptions = Omit<ChargingStationsAvailabilityParams, 'id'> & {
3296
+ /**
3297
+ * The most availability requests in flight at once. Values below 1 count as 1.
3298
+ *
3299
+ * @remarks
3300
+ * Each request counts against your API key's QPS (queries per second) limit. The SDK retries a
3301
+ * rate-limited (`429`) request with backoff bounded by the global `retry.timeoutMs`, so a value
3302
+ * above that limit slows the call down; a request still rejected leaves its place with unknown
3303
+ * availability.
3304
+ * @default 1
3305
+ */
3306
+ maxConcurrentRequests?: number;
3307
+ /**
3308
+ * If true, places with unknown availability are filtered out. Otherwise, they are returned unchanged.
3309
+ * @default false
3310
+ */
3311
+ excludeIfAvailabilityUnknown?: boolean;
3312
+ };
3537
3313
  //#endregion
3538
3314
  //#region src/ev-charging-stations-availability/evChargingStationsAvailability.d.ts
3539
3315
  /**
@@ -3626,15 +3402,15 @@ export declare const getPlaceWithEVAvailability: <P extends CommonPlaceProps = C
3626
3402
  * and merges it into their properties. Non-EV places and EV stations without availability data are returned unchanged.
3627
3403
  *
3628
3404
  * @remarks
3629
- * **Important**: Availability requests are made sequentially to avoid exceeding
3630
- * API rate limits (QPS - Queries Per Second). For large result sets, this may
3631
- * take some time. Pass a `signal` to stop early: aborting it cancels the in-flight
3632
- * request, skips the remaining ones and rejects with {@link SDKAbortError}.
3405
+ * **One request per station**, at most `maxConcurrentRequests` at a time — one by default, so a
3406
+ * large result set takes as many round trips in series. A failed request leaves its place with
3407
+ * unknown availability rather than failing the call.
3633
3408
  *
3634
- * Needs the same API key access as {@link evChargingStationsAvailability}. A place whose request
3635
- * fails, including for a key without that access, counts as having unknown availability.
3409
+ * Pass a `signal` to stop early: aborting it cancels the in-flight requests, skips the remaining
3410
+ * ones and rejects with {@link SDKAbortError}. Needs the same API key access as
3411
+ * {@link evChargingStationsAvailability}.
3636
3412
  *
3637
- * @param places - Collection of places to enhance
3413
+ * @param places - Collection of places to enhance, returned in the same order
3638
3414
  * @param options - Configuration options, including common service parameters (e.g. `apiKey`, `onAPIRequest`, `signal`) forwarded to each availability request
3639
3415
  *
3640
3416
  * @returns Promise resolving to places collection with merged availability
@@ -3660,16 +3436,10 @@ export declare const getPlaceWithEVAvailability: <P extends CommonPlaceProps = C
3660
3436
  *
3661
3437
  * @group EV Charging
3662
3438
  */
3663
- export declare function getPlacesWithEVAvailability<P extends CommonPlaceProps = CommonPlaceProps>(places: Places<P>, options?: Omit<ChargingStationsAvailabilityParams, 'id'> & {
3439
+ export declare function getPlacesWithEVAvailability<P extends CommonPlaceProps = CommonPlaceProps>(places: Places<P>, options: PlacesWithEVAvailabilityOptions & {
3664
3440
  excludeIfAvailabilityUnknown: true;
3665
3441
  }): Promise<Places<EVChargingStationWithAvailabilityPlaceProps>>;
3666
- export declare function getPlacesWithEVAvailability<P extends CommonPlaceProps = CommonPlaceProps>(places: Places<P>, options?: Omit<ChargingStationsAvailabilityParams, 'id'> & {
3667
- /**
3668
- * If true, places with unknown availability will be filtered out. Otherwise, they will be included.
3669
- * @default false
3670
- */
3671
- excludeIfAvailabilityUnknown?: false;
3672
- }): Promise<Places<P | EVChargingStationWithAvailabilityPlaceProps>>;
3442
+ export declare function getPlacesWithEVAvailability<P extends CommonPlaceProps = CommonPlaceProps>(places: Places<P>, options?: PlacesWithEVAvailabilityOptions): Promise<Places<P | EVChargingStationWithAvailabilityPlaceProps>>;
3673
3443
  /**
3674
3444
  * Type guard to check if a ChargingPark has availability data.
3675
3445
  *
@@ -4122,372 +3892,77 @@ type GeometryPlaceParams = CommonServiceParamsWithZoom & {
4122
3892
  * };
4123
3893
  *
4124
3894
  * // Using places
4125
- * const placeParams: GeometryParams = {
4126
- * key: 'your-api-key',
4127
- * geometries: searchResults
4128
- * };
4129
- * ```
4130
- *
4131
- * @group Geometry
4132
- */
4133
- type GeometryParams = GeometryDataParams | GeometryPlaceParams;
4134
- //#endregion
4135
- //#region src/geometry-data/geometryData.d.ts
4136
- /**
4137
- * Retrieve polygon geometries representing geographic area boundaries.
4138
- *
4139
- * The Geometry Data service returns coordinate sets that define the outlines of
4140
- * geographic areas such as cities, countries, administrative regions, or POI footprints.
4141
- * These polygons enable visualization of area boundaries, spatial analysis, and
4142
- * geofencing applications.
4143
- *
4144
- * @remarks
4145
- * Key features:
4146
- * - **Batch requests**: Fetch up to 20 geometries in a single call
4147
- * - **Multiple scales**: From countries down to building footprints
4148
- * - **Place integration**: Can merge with place data for enriched results
4149
- * - **Standard GeoJSON**: Returns standard Polygon/MultiPolygon features
4150
- *
4151
- * Common use cases:
4152
- * - Display city or country boundaries on maps
4153
- * - Show POI building footprints
4154
- * - Create geofences for spatial queries
4155
- * - Visualize administrative divisions
4156
- * - Calculate areas and spatial relationships
4157
- *
4158
- * Returns polygons, not places. Pass the result to `GeometriesModule.show()`,
4159
- * not `PlacesModule.show()`. The `geometryId` comes from a prior search result.
4160
- *
4161
- * @param params - Geometry parameters with IDs or places to fetch boundaries for
4162
- *
4163
- * @returns Promise resolving to polygon features representing area boundaries
4164
- *
4165
- * @example
4166
- * ```typescript
4167
- * // Fetch geometry by ID
4168
- * const cityBoundary = await geometryData({
4169
- * key: 'your-api-key',
4170
- * geometries: ['geometry-id-123']
4171
- * });
4172
- *
4173
- * // Fetch multiple geometries at once
4174
- * const boundaries = await geometryData({
4175
- * key: 'your-api-key',
4176
- * geometries: ['country-id-1', 'city-id-2', 'poi-id-3']
4177
- * });
4178
- *
4179
- * // Fetch and merge with place data
4180
- * const searchResults = await discoverPlaces({ query: 'Amsterdam' });
4181
- * const withBoundaries = await geometryData({
4182
- * key: 'your-api-key',
4183
- * geometries: searchResults // Places with geometry IDs
4184
- * });
4185
- * // Result includes both place properties and polygon boundaries
4186
- * ```
4187
- *
4188
- * @see [Geometry Data API Documentation](https://docs.tomtom.com/search-api/documentation/additional-data-service/additional-data)
4189
- * @see [Places Quickstart Guide](https://docs.tomtom.com/maps-sdk-js/guides/services/places/quickstart)
4190
- * @see [Geometry Data Guide](https://docs.tomtom.com/maps-sdk-js/guides/services/places/geometry-data)
4191
- *
4192
- * @group Geometry
4193
- */
4194
- export declare function geometryData(params: GeometryDataParams): Promise<PolygonFeatures>;
4195
- export declare function geometryData(params: GeometryPlaceParams): Promise<PolygonFeatures<CommonPlaceProps>>;
4196
- //#endregion
4197
- //#region src/geometry-search/types/geometrySearchRequestAPI.d.ts
4198
- /**
4199
- * @ignore
4200
- */
4201
- type PolygonAPI = {
4202
- type: 'POLYGON';
4203
- vertices: string[];
4204
- };
4205
- /**
4206
- * @ignore
4207
- */
4208
- type CircleAPI = {
4209
- type: 'CIRCLE';
4210
- position: string;
4211
- radius: number;
4212
- };
4213
- /**
4214
- * @ignore
4215
- */
4216
- type GeometryAPI = PolygonAPI | CircleAPI;
4217
- /**
4218
- * @ignore
4219
- */
4220
- type GeometrySearchPayloadAPI = {
4221
- geometryList: GeometryAPI[];
4222
- };
4223
- /**
4224
- * Geometry search request type.
4225
- * @ignore
4226
- */
4227
- type GeometrySearchRequestAPI = PostObject<GeometrySearchPayloadAPI>;
4228
- //#endregion
4229
- //#region src/geometry-search/types/geometrySearchResponseAPI.d.ts
4230
- /**
4231
- * @ignore
4232
- */
4233
- type GeometrySearchResultAPI = CommonSearchPlaceResultAPI;
4234
- /**
4235
- * @ignore
4236
- */
4237
- type GeometrySearchResponseAPI = {
4238
- /**
4239
- * Summary information about the search that was performed.
4240
- */
4241
- summary: SummaryAPI$1;
4242
- /**
4243
- * The result list, sorted in descending order by score.
4244
- */
4245
- results: GeometrySearchResultAPI[];
4246
- };
4247
- //#endregion
4248
- //#region src/geometry-search/types/geometrySearchParams.d.ts
4249
- /**
4250
- * Parameters for searching places within specific geographic areas (geometry search).
4251
- *
4252
- * Geometry search finds places that fall within or near the boundaries of one or more
4253
- * geometric shapes (polygons, circles, or multipolygons). This enables area-based searches
4254
- * like "restaurants in this neighborhood" or "hotels within these city boundaries".
4255
- *
4256
- * @remarks
4257
- * Pass these to {@link discoverPlaces}, which selects the request variant from the params it is given:
4258
- * a `route` property dispatches to along-route search, a `geometries` property to geometry search,
4259
- * and neither to fuzzy search. There is no separate exported function for geometry search.
4260
- *
4261
- * **Key Features:**
4262
- * - Search within multiple geometries simultaneously
4263
- * - Supports polygons, multipolygons, and circles
4264
- * - Can use geometries from previous search results
4265
- * - Combines with text queries for filtered results
4266
- *
4267
- * **Use Cases:**
4268
- * - Find POIs within administrative boundaries
4269
- * - Search within custom drawn areas on map
4270
- * - Filter results to specific neighborhoods or regions
4271
- * - Proximity searches using circles
4272
- *
4273
- * @example
4274
- * ```typescript
4275
- * // Search within a circular area
4276
- * const results = await discoverPlaces({
4277
- * key: 'your-api-key',
4278
- * query: 'restaurant',
4279
- * geometries: [{
4280
- * type: 'Circle',
4281
- * coordinates: [4.9041, 52.3676],
4282
- * radius: 1000 // meters
4283
- * }]
4284
- * });
4285
- * ```
4286
- *
4287
- * @example
4288
- * ```typescript
4289
- * // Search within a polygon
4290
- * const results = await discoverPlaces({
4291
- * key: 'your-api-key',
4292
- * query: 'parking',
4293
- * geometries: [{
4294
- * type: 'Polygon',
4295
- * coordinates: [[
4296
- * [4.88, 52.36],
4297
- * [4.90, 52.36],
4298
- * [4.90, 52.38],
4299
- * [4.88, 52.38],
4300
- * [4.88, 52.36]
4301
- * ]]
4302
- * }]
4303
- * });
4304
- * ```
4305
- *
4306
- * @group Places Search
4307
- */
4308
- type GeometrySearchParams = CommonSearchParams<GeometrySearchRequestAPI, GeometrySearchResponseAPI> & {
4309
- /**
4310
- * List of geometries to search within.
4311
- *
4312
- * Can be a mix of polygons, multipolygons, circles, or geometry feature collections
4313
- * from previous search results. Places that fall within or near these geometries
4314
- * will be returned.
4315
- *
4316
- * @remarks
4317
- * Also referred to as "geometryList" in API documentation.
4318
- *
4319
- * **Supported Types:**
4320
- * - {@link Circle} - Circular search area with radius
4321
- * - `Polygon` - Custom polygon boundary (GeoJSON)
4322
- * - `MultiPolygon` - Multiple polygon areas (GeoJSON)
4323
- * - `PolygonFeatures` - Feature collection with polygon geometries
4324
- *
4325
- * @example
4326
- * ```typescript
4327
- * // Multiple geometries
4328
- * geometries: [
4329
- * { type: 'Circle', coordinates: [4.9, 52.3], radius: 500 },
4330
- * { type: 'Polygon', coordinates: [[...]] }
4331
- * ]
4332
- * ```
4333
- */
4334
- geometries: SearchGeometryInput[];
4335
- };
4336
- /**
4337
- * Circular search geometry (non-standard GeoJSON extension).
4338
- *
4339
- * Defines a circular search area by center point and radius. This is a convenience
4340
- * type since standard GeoJSON does not include circles.
4341
- *
4342
- * @remarks
4343
- * **Note:** This is not part of the official GeoJSON specification. It's a Maps SDK
4344
- * extension that gets converted to the appropriate API format internally.
4345
- *
4346
- * **Coordinate Format:** `[longitude, latitude]` (standard GeoJSON order)
4347
- *
4348
- * @example
4349
- * ```typescript
4350
- * const circle: Circle = {
4351
- * type: 'Circle',
4352
- * coordinates: [4.9041, 52.3676], // Amsterdam center
4353
- * radius: 2000 // 2km radius
4354
- * };
4355
- * ```
4356
- *
4357
- * @group Places Search
4358
- */
4359
- interface Circle {
4360
- /**
4361
- * Geometry type identifier.
4362
- * Must be the literal string `'Circle'`.
4363
- */
4364
- type: 'Circle';
4365
- /**
4366
- * Center point of the circle in `[longitude, latitude]` format.
4367
- *
4368
- * @example [4.9041, 52.3676]
4369
- */
4370
- coordinates: Position;
4371
- /**
4372
- * Radius of the circle in meters.
4373
- *
4374
- * @remarks
4375
- * Defines the search area around the center point. Places within or near
4376
- * this radius will be included in results.
4377
- *
4378
- * @example 1000 // 1 kilometer
4379
- */
4380
- radius: number;
4381
- }
4382
- /**
4383
- * Union type of all supported geometry search input formats.
4384
- *
4385
- * Accepts standard GeoJSON polygons/multipolygons, custom circles, or polygon
4386
- * feature collections (such as those returned from previous searches or the
4387
- * geometry data service).
4388
- *
4389
- * @remarks
4390
- * **Flexibility:**
4391
- * - Mix different geometry types in a single search
4392
- * - Use results from {@link geometryData} directly
4393
- * - Pass search results with geometries as boundaries
4394
- * - Define custom polygons for precise area searches
4395
- *
4396
- * @example
4397
- * ```typescript
4398
- * // Using different geometry types
4399
- * const geometries: SearchGeometryInput[] = [
4400
- * // Circle
4401
- * { type: 'Circle', coordinates: [4.9, 52.3], radius: 1000 },
4402
- *
4403
- * // Polygon
4404
- * {
4405
- * type: 'Polygon',
4406
- * coordinates: [[
4407
- * [4.88, 52.36], [4.90, 52.36], [4.90, 52.38], [4.88, 52.38], [4.88, 52.36]
4408
- * ]]
4409
- * },
4410
- *
4411
- * // From previous geometry data call
4412
- * cityBoundaries // PolygonFeatures
4413
- * ];
4414
- * ```
4415
- *
4416
- * @group Places Search
4417
- */
4418
- type SearchGeometryInput = Polygon | MultiPolygon | Circle | PolygonFeatures;
4419
- //#endregion
4420
- //#region src/geometry-search/types/geometrySearchResponse.d.ts
4421
- /**
4422
- * Response from a geometry search query.
4423
- *
4424
- * Contains places found within or along a specified geometry (polygon or circle),
4425
- * along with summary information about the search results.
4426
- *
4427
- * @remarks
4428
- * **Use Cases:**
4429
- * - Find POIs within a delivery zone
4430
- * - Search along a route corridor
4431
- * - Discover places within a custom boundary
4432
- * - Find facilities within a service area
4433
- * - Search within administrative boundaries
4434
- *
4435
- * **Supported Geometries:**
4436
- * - Polygon: Search within a multi-sided boundary
4437
- * - Circle: Search within a radius around a point
4438
- *
4439
- * @example
4440
- * ```typescript
4441
- * const response: GeometrySearchResponse = {
4442
- * type: 'FeatureCollection',
4443
- * features: [
4444
- * {
4445
- * type: 'Feature',
4446
- * geometry: { type: 'Point', coordinates: [4.9, 52.3] },
4447
- * properties: {
4448
- * type: 'POI',
4449
- * poi: { name: 'Restaurant', categories: ['RESTAURANT'] },
4450
- * address: { streetName: 'Main Street' },
4451
- * score: 0.95
4452
- * }
4453
- * }
4454
- * ],
4455
- * summary: {
4456
- * numResults: 1,
4457
- * query: 'restaurant',
4458
- * queryTime: 45
4459
- * }
3895
+ * const placeParams: GeometryParams = {
3896
+ * key: 'your-api-key',
3897
+ * geometries: searchResults
4460
3898
  * };
4461
3899
  * ```
4462
3900
  *
4463
- * @group Geometry Search
3901
+ * @group Geometry
4464
3902
  */
4465
- type GeometrySearchResponse = Places<SearchPlaceProps, GeometrySearchFeatureCollectionProps>;
3903
+ type GeometryParams = GeometryDataParams | GeometryPlaceParams;
3904
+ //#endregion
3905
+ //#region src/geometry-data/geometryData.d.ts
4466
3906
  /**
4467
- * Properties attached to the geometry search feature collection.
3907
+ * Retrieve polygon geometries representing geographic area boundaries.
4468
3908
  *
4469
- * Contains summary information about the search operation and its results.
3909
+ * The Geometry Data service returns coordinate sets that define the outlines of
3910
+ * geographic areas such as cities, countries, administrative regions, or POI footprints.
3911
+ * These polygons enable visualization of area boundaries, spatial analysis, and
3912
+ * geofencing applications.
4470
3913
  *
4471
3914
  * @remarks
4472
- * Provides metadata about:
4473
- * - Number of results found
4474
- * - Query that was executed
4475
- * - Performance metrics
4476
- * - Fuzzy matching level applied
3915
+ * Key features:
3916
+ * - **Batch requests**: Fetch up to 20 geometries in a single call
3917
+ * - **Multiple scales**: From countries down to building footprints
3918
+ * - **Place integration**: Can merge with place data for enriched results
3919
+ * - **Standard GeoJSON**: Returns standard Polygon/MultiPolygon features
3920
+ *
3921
+ * Common use cases:
3922
+ * - Display city or country boundaries on maps
3923
+ * - Show POI building footprints
3924
+ * - Create geofences for spatial queries
3925
+ * - Visualize administrative divisions
3926
+ * - Calculate areas and spatial relationships
3927
+ *
3928
+ * Returns polygons, not places. Pass the result to `GeometriesModule.show()`,
3929
+ * not `PlacesModule.show()`. The `geometryId` comes from a prior search result.
3930
+ *
3931
+ * @param params - Geometry parameters with IDs or places to fetch boundaries for
3932
+ *
3933
+ * @returns Promise resolving to polygon features representing area boundaries
4477
3934
  *
4478
3935
  * @example
4479
3936
  * ```typescript
4480
- * const collectionProps: GeometrySearchFeatureCollectionProps = {
4481
- * numResults: 25,
4482
- * query: 'coffee shop',
4483
- * queryTime: 123,
4484
- * fuzzyLevel: 1
4485
- * };
3937
+ * // Fetch geometry by ID
3938
+ * const cityBoundary = await geometryData({
3939
+ * key: 'your-api-key',
3940
+ * geometries: ['geometry-id-123']
3941
+ * });
3942
+ *
3943
+ * // Fetch multiple geometries at once
3944
+ * const boundaries = await geometryData({
3945
+ * key: 'your-api-key',
3946
+ * geometries: ['country-id-1', 'city-id-2', 'poi-id-3']
3947
+ * });
3948
+ *
3949
+ * // Fetch and merge with place data
3950
+ * const searchResults = await discoverPlaces({ query: 'Amsterdam' });
3951
+ * const withBoundaries = await geometryData({
3952
+ * key: 'your-api-key',
3953
+ * geometries: searchResults // Places with geometry IDs
3954
+ * });
3955
+ * // Result includes both place properties and polygon boundaries
4486
3956
  * ```
4487
3957
  *
4488
- * @group Geometry Search
3958
+ * @see [Geometry Data API Documentation](https://docs.tomtom.com/search-api/documentation/additional-data-service/additional-data)
3959
+ * @see [Places Quickstart Guide](https://docs.tomtom.com/maps-sdk-js/guides/services/places/quickstart)
3960
+ * @see [Geometry Data Guide](https://docs.tomtom.com/maps-sdk-js/guides/services/places/geometry-data)
3961
+ *
3962
+ * @group Geometry
4489
3963
  */
4490
- type GeometrySearchFeatureCollectionProps = SearchSummary;
3964
+ export declare function geometryData(params: GeometryDataParams): Promise<PolygonFeatures>;
3965
+ export declare function geometryData(params: GeometryPlaceParams): Promise<PolygonFeatures<CommonPlaceProps>>;
4491
3966
  //#endregion
4492
3967
  //#region src/place-details/types/placeDetailsResponseAPI.d.ts
4493
3968
  /**
@@ -4536,34 +4011,10 @@ type PlaceDetailsOptionalParams = {
4536
4011
  */
4537
4012
  mapcodes?: MapcodeType[];
4538
4013
  /**
4539
- * Geopolitical view context for disputed territories.
4540
- *
4541
- * @remarks
4542
- * Determines how disputed territories are handled in the response.
4543
- *
4544
- * **Available Views:**
4545
- * - `Unified`: International view (default)
4546
- * - `AR`: Argentina
4547
- * - `IN`: India
4548
- * - `PK`: Pakistan
4549
- * - `IL`: Israel
4550
- * - `MA`: Morocco
4551
- * - `RU`: Russia
4552
- * - `TR`: Turkey
4553
- * - `CN`: China
4554
- * - `TW`: Taiwan
4555
- * - `RS`: Serbia
4556
- *
4557
- * `MA` is accepted by this type but is not supported by the current backend.
4558
- *
4559
- * @default 'Unified'
4560
- *
4561
- * @example
4562
- * ```typescript
4563
- * view: 'IN' // Indian geopolitical view
4564
- * ```
4014
+ * Geopolitical view of the result, overriding the global one: which country a place in a
4015
+ * disputed territory belongs to. See {@link GeopoliticalView}.
4565
4016
  */
4566
- view?: View;
4017
+ geopoliticalView?: GeopoliticalView;
4567
4018
  /**
4568
4019
  * Include opening hours information in the response.
4569
4020
  *
@@ -4778,18 +4229,17 @@ type PoiCategoriesResponseAPI = {
4778
4229
  */
4779
4230
  type POICategoriesParams = CommonServiceParams<GetObject, PoiCategoriesResponseAPI> & {
4780
4231
  /**
4781
- * One or more filter strings applied client-side against the text index.
4232
+ * Keywords matched client-side against every category's name and synonyms, strongest match first.
4782
4233
  *
4783
- * Each filter string is normalized (lowercased, spaces removed) and matched against
4784
- * the normalized form of every `name` and synonym. A category matches when any of its
4785
- * normalized texts contains the normalized filter as a substring.
4234
+ * - A category code (`'CAFE'`) matches that category only. Any other filter ranks an exact name or
4235
+ * synonym first, then a name or synonym the filter starts, one holding it as a later word, and
4236
+ * last one holding it as a substring. Each filter keeps only the matches ranking close to its best.
4237
+ * - Case, accents and punctuation are ignored, and spaces too in the substring tiers: `'bar'` finds
4238
+ * Bar but not Nail Salon ("Nail Bar"), and `'bookstore'` finds Book Shop ("Book Store").
4239
+ * - Several filters merge round-robin, so each filter's best match comes first, one entry per `code`.
4240
+ * A category ranking below its matched parent is left out, as the parent already covers it.
4786
4241
  *
4787
- * For example, `'gym'` matches a category whose name or synonym normalizes to `'gym'`
4788
- * or `'fitnessandgym'`. `'italian restaurant'` normalizes to `'italianrestaurant'` and
4789
- * matches `'Italian Restaurant'` but not `'Mexican Restaurant'`.
4790
- *
4791
- * Results from all filter strings are merged and deduplicated by `code`.
4792
- * Omit to return all categories.
4242
+ * A blank filter matches nothing. Omit `filters` to return all categories.
4793
4243
  *
4794
4244
  * @example
4795
4245
  * ```ts
@@ -4805,6 +4255,13 @@ type POICategoriesParams = CommonServiceParams<GetObject, PoiCategoriesResponseA
4805
4255
  */
4806
4256
  filters?: string[];
4807
4257
  };
4258
+ /**
4259
+ * Parameters for `resolvePOICategories`: the {@link POICategoriesParams}, with the words to resolve
4260
+ * required in `filters`.
4261
+ *
4262
+ * @group POI Categories
4263
+ */
4264
+ type ResolvePOICategoriesParams = POICategoriesParams & Required<Pick<POICategoriesParams, 'filters'>>;
4808
4265
  //#endregion
4809
4266
  //#region src/poi-categories/types/poiCategoriesResponse.d.ts
4810
4267
  /**
@@ -4821,11 +4278,7 @@ type POICategoryResult = {
4821
4278
  */
4822
4279
  code: POICategory;
4823
4280
  /**
4824
- * Codes of sub-categories that also matched the current filter result set.
4825
- *
4826
- * Only contains codes present in the filtered result set — not the full list of
4827
- * possible sub-categories — so you can understand the category hierarchy without
4828
- * additional lookups.
4281
+ * Codes of this category's sub-categories, whether or not they matched the `filters`.
4829
4282
  *
4830
4283
  * Use these values directly in a search's `filters.poiCategories`.
4831
4284
  */
@@ -4847,6 +4300,17 @@ type POICategoryResult = {
4847
4300
  type POICategoriesResponse = {
4848
4301
  poiCategories: POICategoryResult[];
4849
4302
  };
4303
+ /**
4304
+ * What `resolvePOICategories` returns.
4305
+ *
4306
+ * @group POI Categories
4307
+ */
4308
+ type ResolvedPOICategories = {
4309
+ /** The codes for a search's `filters.poiCategories`, best first. Empty when no filter matched. */
4310
+ poiCategories: POICategory[];
4311
+ /** The filters no category name, synonym or code matched, as given. */
4312
+ unmatched: string[];
4313
+ };
4850
4314
  //#endregion
4851
4315
  //#region src/poi-categories/poiCategories.d.ts
4852
4316
  /**
@@ -4854,7 +4318,7 @@ type POICategoriesResponse = {
4854
4318
  *
4855
4319
  * The returned `code` values (`POICategory`) serve two purposes:
4856
4320
  * - Pass to `discoverPlaces({ filters: { poiCategories } })` to filter search results by category.
4857
- * - Pass to `POIsModule.filterCategories()` to filter the map's built-in POI icons.
4321
+ * - Pass as `POIsModule` `filters.categories` to filter the map's built-in POI icons.
4858
4322
  * Generic parent codes (e.g. `'RESTAURANT'`) are supported there; overly specific child
4859
4323
  * codes (e.g. `'ITALIAN_RESTAURANT'`) are not — use a parent or a `POICategoryGroup` instead.
4860
4324
  *
@@ -4868,7 +4332,7 @@ type POICategoriesResponse = {
4868
4332
  * // All categories
4869
4333
  * const { poiCategories: all } = await getPOICategories();
4870
4334
  *
4871
- * // Filtered by keyword, merged and deduplicated
4335
+ * // Filtered by keyword, best match first
4872
4336
  * const { poiCategories: gyms } = await getPOICategories({ filters: ['gym'] });
4873
4337
  * gyms.forEach(c => console.log(c.code, c.name, c.childCategoryCodes));
4874
4338
  * ```
@@ -4881,7 +4345,7 @@ export declare const getPOICategories: (params?: POICategoriesParams) => Promise
4881
4345
  *
4882
4346
  * The returned codes serve two purposes:
4883
4347
  * - Pass to `discoverPlaces({ filters: { poiCategories } })` to filter search results by category.
4884
- * - Pass to `POIsModule.filterCategories()` to filter the map's built-in POI icons.
4348
+ * - Pass as `POIsModule` `filters.categories` to filter the map's built-in POI icons.
4885
4349
  * Generic parent codes (e.g. `'RESTAURANT'`) are supported there; overly specific child
4886
4350
  * codes (e.g. `'ITALIAN_RESTAURANT'`) are not — use a parent or a `POICategoryGroup` instead.
4887
4351
  *
@@ -4901,6 +4365,26 @@ export declare const getPOICategories: (params?: POICategoriesParams) => Promise
4901
4365
  * @group POI Categories
4902
4366
  */
4903
4367
  export declare const getPOICategoryCodes: (params?: POICategoriesParams) => Promise<POICategory[]>;
4368
+ /**
4369
+ * Resolves category words, or codes, to the POI categories of one search, and reports the words that
4370
+ * match none.
4371
+ *
4372
+ * @remarks
4373
+ * Each filter matches as on {@link getPOICategories}, so a code stays itself. Each keeps its best three
4374
+ * codes, merged round-robin and capped at the 10 a search accepts. Codes alone skip the catalog request.
4375
+ * `discoverPlaces` runs the same lookup for `filters.poiCategoryQuery`: call this first to decide what to
4376
+ * do about the words that match nothing. To browse every close match instead, use {@link getPOICategories}.
4377
+ *
4378
+ * @example
4379
+ * ```typescript
4380
+ * const { poiCategories, unmatched } = await resolvePOICategories({ filters: ['café', 'PHARMACY', 'xyzzy'] });
4381
+ * // unmatched: ['xyzzy']
4382
+ * const places = await discoverPlaces({ filters: { poiCategories }, geoBias: { position: [4.9041, 52.3676] } });
4383
+ * ```
4384
+ *
4385
+ * @group POI Categories
4386
+ */
4387
+ export declare const resolvePOICategories: (parameters: ResolvePOICategoriesParams) => Promise<ResolvedPOICategories>;
4904
4388
  //#endregion
4905
4389
  //#region src/shared/types/apiRoutingRequestTypes.d.ts
4906
4390
  /**
@@ -5290,104 +4774,6 @@ type ReachableRangeResponseAPI = {
5290
4774
  };
5291
4775
  //#endregion
5292
4776
  //#region src/reachable-range/types/reachableRangeParams.d.ts
5293
- export declare const budgetTypes: readonly ["timeMinutes", "remainingChargePCT", "spentChargePCT", "spentFuelLiters", "distanceKM"];
5294
- /**
5295
- * Type of budget constraint for reachable range calculation.
5296
- *
5297
- * @remarks
5298
- * **Budget Types:**
5299
- * - `timeMinutes`: Travel time in minutes (isochrone)
5300
- * - `distanceKM`: Travel distance in kilometers (isodistance)
5301
- * - `remainingChargePCT`: Remaining battery charge in percentage (EV)
5302
- * - `spentChargePCT`: Battery charge consumed in percentage (EV)
5303
- * - `spentFuelLiters`: Fuel consumed in liters (combustion)
5304
- *
5305
- * Both charge budgets are converted against the battery capacity, so they need an electric
5306
- * `vehicle` with `model.engine.charging.maxChargeKWH`; `remainingChargePCT` also needs its current
5307
- * charge in `vehicle.state`.
5308
- *
5309
- * **Common Use Cases:**
5310
- * - Time: "Where can I reach in 30 minutes?"
5311
- * - Distance: "What's within 10 km?"
5312
- * - EV charge: "How far can I go on 50% battery?"
5313
- * - Fuel: "Range with 20 liters of fuel"
5314
- *
5315
- * @example
5316
- * ```typescript
5317
- * const timeType: BudgetType = 'timeMinutes';
5318
- * const distanceType: BudgetType = 'distanceKM';
5319
- * const evType: BudgetType = 'remainingChargePCT';
5320
- * ```
5321
- *
5322
- * @group Reachable Range
5323
- */
5324
- export type BudgetType = (typeof budgetTypes)[number];
5325
- /**
5326
- * Budget constraint for reachable range calculation.
5327
- *
5328
- * Defines the limit (time, distance, or fuel/charge) for calculating
5329
- * how far you can travel from a starting point.
5330
- *
5331
- * @remarks
5332
- * **Use Cases:**
5333
- * - Service area visualization (30-min delivery zone)
5334
- * - EV range anxiety mitigation (show reachable area)
5335
- * - Emergency response coverage (10-min response time)
5336
- * - Delivery zone planning
5337
- * - Store location analysis
5338
- *
5339
- * @example
5340
- * ```typescript
5341
- * // 30-minute travel time
5342
- * const timeBudget: ReachableRangeBudget = {
5343
- * type: 'timeMinutes',
5344
- * value: 30
5345
- * };
5346
- *
5347
- * // 50 km distance
5348
- * const distanceBudget: ReachableRangeBudget = {
5349
- * type: 'distanceKM',
5350
- * value: 50
5351
- * };
5352
- *
5353
- * // 50% battery remaining
5354
- * const evBudget: ReachableRangeBudget = {
5355
- * type: 'remainingChargePCT',
5356
- * value: 50
5357
- * };
5358
- *
5359
- * // 20 liters of fuel
5360
- * const fuelBudget: ReachableRangeBudget = {
5361
- * type: 'spentFuelLiters',
5362
- * value: 20
5363
- * };
5364
- * ```
5365
- *
5366
- * @group Reachable Range
5367
- */
5368
- export type ReachableRangeBudget = {
5369
- /**
5370
- * The type of budget, including units. See {@link BudgetType}.
5371
- */
5372
- type: BudgetType;
5373
- /**
5374
- * The value of the budget based on the units mentioned in the type.
5375
- *
5376
- * @remarks
5377
- * **Typical Values:**
5378
- * - Time: 5-60 minutes
5379
- * - Distance: 5-100 km
5380
- * - Charge: 10-100 percentage
5381
- * - Fuel: 5-50 liters
5382
- *
5383
- * @example
5384
- * ```typescript
5385
- * value: 30 // 30 minutes/km/percent/liters depending on type
5386
- * value: 15.5 // Decimal values supported
5387
- * ```
5388
- */
5389
- value: number;
5390
- };
5391
4777
  /**
5392
4778
  * Route features `calculateReachableRange` can avoid.
5393
4779
  *
@@ -5698,11 +5084,18 @@ export declare const calculateReachableRange: (params: ReachableRangeParams) =>
5698
5084
  * Note: Ranges are calculated sequentially to avoid rate limiting. For large batches,
5699
5085
  * consider implementing your own parallel processing with appropriate throttling.
5700
5086
  *
5087
+ * **A range the service answers with an error is skipped, not thrown**, unless that error is a 401,
5088
+ * 403 or 429: an origin off the drivable road network answers `NO_RANGE_FOUND`, which
5089
+ * {@link calculateReachableRange} rejects with. So `features` can be shorter than `paramsArray`, or
5090
+ * empty; each feature's `properties` carries the request it answers. An abort and an invalid request
5091
+ * still reject the whole batch.
5092
+ *
5701
5093
  * @param paramsArray Array of reachable range parameters, one for each area to calculate
5702
5094
  * @param options.signal An `AbortSignal` to cancel the in-flight request and skip the remaining ones.
5703
5095
  * Composed with any per-entry `signal`, so either one cancels.
5704
5096
  *
5705
- * @returns Promise resolving to a FeatureCollection of reachable area polygons
5097
+ * @returns Promise resolving to a FeatureCollection with a polygon per range the service could
5098
+ * calculate, in request order
5706
5099
  *
5707
5100
  * @example
5708
5101
  * ```typescript
@@ -5877,29 +5270,10 @@ type ReverseGeocodingOptionalParams = {
5877
5270
  */
5878
5271
  radiusMeters?: number;
5879
5272
  /**
5880
- * Specifies the geopolitical view for the results.
5881
- *
5882
- * @remarks
5883
- * Determines how disputed territories and borders are represented in the response.
5884
- *
5885
- * Available views:
5886
- * - `Unified` - International view (default)
5887
- * - `AR` - Argentina
5888
- * - `CN` - China
5889
- * - `IL` - Israel
5890
- * - `IN` - India
5891
- * - `MA` - Morocco
5892
- * - `PK` - Pakistan
5893
- * - `RS` - Serbia
5894
- * - `RU` - Russia
5895
- * - `TR` - Turkey
5896
- * - `TW` - Taiwan
5897
- *
5898
- * `MA` is accepted by this type but is not supported by the current backend.
5899
- *
5900
- * @defaultValue `"Unified"`
5273
+ * Geopolitical view of the result, overriding the global one: which country an address in a
5274
+ * disputed territory belongs to. See {@link GeopoliticalView}.
5901
5275
  */
5902
- view?: View;
5276
+ geopoliticalView?: GeopoliticalView;
5903
5277
  };
5904
5278
  /**
5905
5279
  * Complete parameter set for reverse geocoding service calls.
@@ -6602,37 +5976,152 @@ type RouteStopOptions = {
6602
5976
  legCostModel?: LegCostModel;
6603
5977
  };
6604
5978
  //#endregion
6605
- //#region src/fuzzy-search/types/fuzzySearchResponse.d.ts
5979
+ //#region src/along-route-search/types/alongRouteSearchRequestAPI.d.ts
5980
+ /**
5981
+ * @ignore
5982
+ */
5983
+ type RoutePointAPI = {
5984
+ lat: number;
5985
+ lon: number;
5986
+ };
5987
+ /**
5988
+ * @ignore
5989
+ */
5990
+ type AlongRouteSearchPayloadAPI = {
5991
+ route: {
5992
+ points: RoutePointAPI[];
5993
+ };
5994
+ };
5995
+ /**
5996
+ * Along-route search request type.
5997
+ * @ignore
5998
+ */
5999
+ type AlongRouteSearchRequestAPI = PostObject<AlongRouteSearchPayloadAPI>;
6000
+ //#endregion
6001
+ //#region src/along-route-search/types/alongRouteSearchResponseAPI.d.ts
6606
6002
  /**
6607
- * Response from the fuzzy search service.
6003
+ * @ignore
6004
+ */
6005
+ type AlongRouteSearchResultAPI = CommonSearchPlaceResultAPI;
6006
+ /**
6007
+ * @ignore
6008
+ */
6009
+ type AlongRouteSearchResponseAPI = {
6010
+ /**
6011
+ * Summary information about the search that was performed.
6012
+ */
6013
+ summary: SummaryAPI$1;
6014
+ /**
6015
+ * The result list, sorted by detour time or offset.
6016
+ */
6017
+ results: AlongRouteSearchResultAPI[];
6018
+ };
6019
+ //#endregion
6020
+ //#region src/along-route-search/types/alongRouteSearchParams.d.ts
6021
+ /**
6022
+ * Result sorting order for along-route search.
6608
6023
  *
6609
- * Collection of places matching the search query, with additional metadata
6610
- * about detected query intents (coordinates, nearby searches, what3words, bookmarks).
6024
+ * Controls how the returned POIs are ordered relative to the route.
6611
6025
  *
6612
- * @group Fuzzy Search
6026
+ * @remarks
6027
+ * Pass these to {@link discoverPlaces}, which selects the request variant from the params it is given:
6028
+ * a `route` property dispatches to along-route search, a `geometries` property to geometry search,
6029
+ * and neither to fuzzy search.
6030
+ *
6031
+ * - `detourTime`: Sort by additional travel time required to visit the POI (default)
6032
+ * - `detourOffset`: Sort by how far along the route the detour point falls
6033
+ *
6034
+ * @group Along Route Search
6613
6035
  */
6614
- type FuzzySearchResponse = Places<SearchPlaceProps, FuzzySearchFeatureCollectionProps>;
6036
+ type AlongRouteSortBy = 'detourTime' | 'detourOffset';
6615
6037
  /**
6616
- * Additional properties for fuzzy search feature collection.
6038
+ * Parameters for searching places along a route.
6617
6039
  *
6618
- * Extends the base search summary with detected query intents that provide
6619
- * insight into how the search engine interpreted the user's query.
6040
+ * Along-route search finds POIs near a provided route geometry and ranks them
6041
+ * by the detour cost (time or distance offset) required to visit them.
6620
6042
  *
6621
- * @group Fuzzy Search
6043
+ * @remarks
6044
+ * **Key Features:**
6045
+ * - Search for POIs within a detour budget from the route
6046
+ * - Sort results by detour time or route offset
6047
+ * - Combine with POI category and brand filters
6048
+ * - Use directly with a {@link calculateRoute} result
6049
+ *
6050
+ * **Use Cases:**
6051
+ * - Find fuel stations or EV chargers along a trip
6052
+ * - Locate rest stops or restaurants near a route
6053
+ * - Surface services reachable within a time budget
6054
+ *
6055
+ * @example
6056
+ * ```typescript
6057
+ * // Find coffee shops within a 5-minute detour from a route
6058
+ * const results = await discoverPlaces({
6059
+ * route: routeResult.features[0],
6060
+ * maxDetourTimeSeconds: 300,
6061
+ * query: 'coffee',
6062
+ * });
6063
+ *
6064
+ * // Find EV charging stations using a plain coordinate array
6065
+ * const chargers = await discoverPlaces({
6066
+ * route: [[4.9, 52.37], [4.95, 52.28], [5.1, 52.09]],
6067
+ * maxDetourTimeSeconds: 600,
6068
+ * filters: { poiCategories: ['CHARGING_LOCATION'] },
6069
+ * sortBy: 'detourOffset',
6070
+ * });
6071
+ * ```
6072
+ *
6073
+ * @group Along Route Search
6622
6074
  */
6623
- type FuzzySearchFeatureCollectionProps = SearchSummary & {
6075
+ type AlongRouteSearchParams = CommonSearchParams<AlongRouteSearchRequestAPI, AlongRouteSearchResponseAPI> & {
6076
+ /**
6077
+ * Route geometry to search along.
6078
+ *
6079
+ * Accepts any of three forms:
6080
+ * - **`Route`** feature as returned by {@link calculateRoute} (most common)
6081
+ * - **`LineString`** GeoJSON geometry object
6082
+ * - **`Position[]`** — a plain array of `[longitude, latitude]` coordinate pairs
6083
+ *
6084
+ * Coordinates must always be in `[longitude, latitude]` order.
6085
+ *
6086
+ * @example
6087
+ * ```typescript
6088
+ * // Route Feature from calculateRoute (most common)
6089
+ * route: routeResult.features[0]
6090
+ *
6091
+ * // GeoJSON LineString geometry
6092
+ * route: routeResult.features[0].geometry
6093
+ *
6094
+ * // Plain coordinate array
6095
+ * route: [[4.9, 52.37], [4.95, 52.28], [5.1, 52.09]]
6096
+ * ```
6097
+ */
6098
+ route: LineString | Route | Position[];
6099
+ /**
6100
+ * Maximum allowed detour time in seconds.
6101
+ *
6102
+ * Only POIs reachable within this additional travel time from the route
6103
+ * will be returned. Controls the width of the search corridor.
6104
+ *
6105
+ * @example
6106
+ * ```typescript
6107
+ * maxDetourTimeSeconds: 300 // 5-minute detour budget
6108
+ * ```
6109
+ */
6110
+ maxDetourTimeSeconds: number;
6624
6111
  /**
6625
- * Array of detected query intents.
6112
+ * Sort order for the results.
6626
6113
  *
6627
- * Indicates how the search engine interpreted the query
6628
- * (e.g., as coordinates, nearby search, what3words, or bookmark).
6114
+ * @default 'detourTime'
6629
6115
  *
6630
- * @remarks
6631
- * Optional — query-intent detection is not guaranteed, so guard it rather than assuming it is
6632
- * present.
6116
+ * @example
6117
+ * ```typescript
6118
+ * sortBy: 'detourOffset' // order by position along the route
6119
+ * ```
6633
6120
  */
6634
- queryIntent?: QueryIntent[];
6121
+ sortBy?: AlongRouteSortBy;
6635
6122
  };
6123
+ //#endregion
6124
+ //#region src/fuzzy-search/types/fuzzySearchResponse.d.ts
6636
6125
  /**
6637
6126
  * Union type for all possible query intents.
6638
6127
  *
@@ -6890,7 +6379,7 @@ type NearbyIntentDetailsAPI = Omit<NearbyIntentDetails, 'position'> & {
6890
6379
  * @remarks
6891
6380
  * Pass these to {@link discoverPlaces}, which selects the request variant from the params it is given:
6892
6381
  * a `route` property dispatches to along-route search, a `geometries` property to geometry search,
6893
- * and neither to fuzzy search. There is no separate exported function for fuzzy search.
6382
+ * and neither to fuzzy search.
6894
6383
  *
6895
6384
  * **Key Features:**
6896
6385
  * - Tolerates typos and spelling mistakes
@@ -6909,14 +6398,12 @@ type NearbyIntentDetailsAPI = Omit<NearbyIntentDetails, 'position'> & {
6909
6398
  * ```typescript
6910
6399
  * // Basic fuzzy search
6911
6400
  * const params: FuzzySearchParams = {
6912
- * key: 'your-api-key',
6913
6401
  * query: 'pizz', // Will find "pizza" restaurants
6914
6402
  * geoBias: { position: [4.9041, 52.3676] }
6915
6403
  * };
6916
6404
  *
6917
6405
  * // Fuzzy search with custom fuzziness
6918
6406
  * const customParams: FuzzySearchParams = {
6919
- * key: 'your-api-key',
6920
6407
  * query: 'restaurnt', // Misspelled "restaurant"
6921
6408
  * minFuzzyLevel: 1,
6922
6409
  * maxFuzzyLevel: 3,
@@ -6981,20 +6468,272 @@ type FuzzySearchParams = CommonSearchParams<GetObject, FuzzySearchResponseAPI> &
6981
6468
  maxFuzzyLevel?: number;
6982
6469
  };
6983
6470
  //#endregion
6471
+ //#region src/geometry-search/types/geometrySearchRequestAPI.d.ts
6472
+ /**
6473
+ * @ignore
6474
+ */
6475
+ type PolygonAPI = {
6476
+ type: 'POLYGON';
6477
+ vertices: string[];
6478
+ };
6479
+ /**
6480
+ * @ignore
6481
+ */
6482
+ type CircleAPI = {
6483
+ type: 'CIRCLE';
6484
+ position: string;
6485
+ radius: number;
6486
+ };
6487
+ /**
6488
+ * @ignore
6489
+ */
6490
+ type GeometryAPI = PolygonAPI | CircleAPI;
6491
+ /**
6492
+ * @ignore
6493
+ */
6494
+ type GeometrySearchPayloadAPI = {
6495
+ geometryList: GeometryAPI[];
6496
+ };
6497
+ /**
6498
+ * Geometry search request type.
6499
+ * @ignore
6500
+ */
6501
+ type GeometrySearchRequestAPI = PostObject<GeometrySearchPayloadAPI>;
6502
+ //#endregion
6503
+ //#region src/geometry-search/types/geometrySearchResponseAPI.d.ts
6504
+ /**
6505
+ * @ignore
6506
+ */
6507
+ type GeometrySearchResultAPI = CommonSearchPlaceResultAPI;
6508
+ /**
6509
+ * @ignore
6510
+ */
6511
+ type GeometrySearchResponseAPI = {
6512
+ /**
6513
+ * Summary information about the search that was performed.
6514
+ */
6515
+ summary: SummaryAPI$1;
6516
+ /**
6517
+ * The result list, sorted in descending order by score.
6518
+ */
6519
+ results: GeometrySearchResultAPI[];
6520
+ };
6521
+ //#endregion
6522
+ //#region src/geometry-search/types/geometrySearchParams.d.ts
6523
+ /**
6524
+ * Parameters for searching places within specific geographic areas (geometry search).
6525
+ *
6526
+ * Geometry search finds places that fall within or near the boundaries of one or more
6527
+ * geometric shapes (polygons, circles, or multipolygons). This enables area-based searches
6528
+ * like "restaurants in this neighborhood" or "hotels within these city boundaries".
6529
+ *
6530
+ * @remarks
6531
+ * Pass these to {@link discoverPlaces}, which selects the request variant from the params it is given:
6532
+ * a `route` property dispatches to along-route search, a `geometries` property to geometry search,
6533
+ * and neither to fuzzy search.
6534
+ *
6535
+ * **Key Features:**
6536
+ * - Search within multiple geometries simultaneously
6537
+ * - Supports polygons, multipolygons, and circles
6538
+ * - Can use geometries from previous search results
6539
+ * - Combines with text queries for filtered results
6540
+ *
6541
+ * **Use Cases:**
6542
+ * - Find POIs within administrative boundaries
6543
+ * - Search within custom drawn areas on map
6544
+ * - Filter results to specific neighborhoods or regions
6545
+ * - Proximity searches using circles
6546
+ *
6547
+ * @example
6548
+ * ```typescript
6549
+ * // Search within a circular area
6550
+ * const results = await discoverPlaces({
6551
+ * query: 'restaurant',
6552
+ * geometries: [{
6553
+ * type: 'Circle',
6554
+ * coordinates: [4.9041, 52.3676],
6555
+ * radius: 1000 // meters
6556
+ * }]
6557
+ * });
6558
+ * ```
6559
+ *
6560
+ * @example
6561
+ * ```typescript
6562
+ * // Search within a polygon
6563
+ * const results = await discoverPlaces({
6564
+ * query: 'parking',
6565
+ * geometries: [{
6566
+ * type: 'Polygon',
6567
+ * coordinates: [[
6568
+ * [4.88, 52.36],
6569
+ * [4.90, 52.36],
6570
+ * [4.90, 52.38],
6571
+ * [4.88, 52.38],
6572
+ * [4.88, 52.36]
6573
+ * ]]
6574
+ * }]
6575
+ * });
6576
+ * ```
6577
+ *
6578
+ * @group Places Search
6579
+ */
6580
+ type GeometrySearchParams = CommonSearchParams<GeometrySearchRequestAPI, GeometrySearchResponseAPI> & {
6581
+ /**
6582
+ * List of geometries to search within.
6583
+ *
6584
+ * Can be a mix of polygons, multipolygons, circles, or geometry feature collections
6585
+ * from previous search results. Places that fall within or near these geometries
6586
+ * will be returned.
6587
+ *
6588
+ * @remarks
6589
+ * Also referred to as "geometryList" in API documentation.
6590
+ *
6591
+ * **Supported Types:**
6592
+ * - {@link Circle} - Circular search area with radius
6593
+ * - `Polygon` - Custom polygon boundary (GeoJSON)
6594
+ * - `MultiPolygon` - Multiple polygon areas (GeoJSON)
6595
+ * - `PolygonFeatures` - Feature collection with polygon geometries
6596
+ *
6597
+ * @example
6598
+ * ```typescript
6599
+ * // Multiple geometries
6600
+ * geometries: [
6601
+ * { type: 'Circle', coordinates: [4.9, 52.3], radius: 500 },
6602
+ * { type: 'Polygon', coordinates: [[...]] }
6603
+ * ]
6604
+ * ```
6605
+ */
6606
+ geometries: SearchGeometryInput[];
6607
+ };
6608
+ /**
6609
+ * Circular search geometry (non-standard GeoJSON extension).
6610
+ *
6611
+ * Defines a circular search area by center point and radius. This is a convenience
6612
+ * type since standard GeoJSON does not include circles.
6613
+ *
6614
+ * @remarks
6615
+ * **Note:** This is not part of the official GeoJSON specification. It's a Maps SDK
6616
+ * extension that gets converted to the appropriate API format internally.
6617
+ *
6618
+ * **Coordinate Format:** `[longitude, latitude]` (standard GeoJSON order)
6619
+ *
6620
+ * @example
6621
+ * ```typescript
6622
+ * const circle: Circle = {
6623
+ * type: 'Circle',
6624
+ * coordinates: [4.9041, 52.3676], // Amsterdam center
6625
+ * radius: 2000 // 2km radius
6626
+ * };
6627
+ * ```
6628
+ *
6629
+ * @group Places Search
6630
+ */
6631
+ interface Circle {
6632
+ /**
6633
+ * Geometry type identifier.
6634
+ * Must be the literal string `'Circle'`.
6635
+ */
6636
+ type: 'Circle';
6637
+ /**
6638
+ * Center point of the circle in `[longitude, latitude]` format.
6639
+ *
6640
+ * @example [4.9041, 52.3676]
6641
+ */
6642
+ coordinates: Position;
6643
+ /**
6644
+ * Radius of the circle in meters.
6645
+ *
6646
+ * @remarks
6647
+ * Defines the search area around the center point. Places within or near
6648
+ * this radius will be included in results.
6649
+ *
6650
+ * @example 1000 // 1 kilometer
6651
+ */
6652
+ radius: number;
6653
+ }
6654
+ /**
6655
+ * Union type of all supported geometry search input formats.
6656
+ *
6657
+ * Accepts standard GeoJSON polygons/multipolygons, custom circles, or polygon
6658
+ * feature collections (such as those returned from previous searches or the
6659
+ * geometry data service).
6660
+ *
6661
+ * @remarks
6662
+ * **Flexibility:**
6663
+ * - Mix different geometry types in a single search
6664
+ * - Use results from {@link geometryData} directly
6665
+ * - Pass search results with geometries as boundaries
6666
+ * - Define custom polygons for precise area searches
6667
+ *
6668
+ * @example
6669
+ * ```typescript
6670
+ * // Using different geometry types
6671
+ * const geometries: SearchGeometryInput[] = [
6672
+ * // Circle
6673
+ * { type: 'Circle', coordinates: [4.9, 52.3], radius: 1000 },
6674
+ *
6675
+ * // Polygon
6676
+ * {
6677
+ * type: 'Polygon',
6678
+ * coordinates: [[
6679
+ * [4.88, 52.36], [4.90, 52.36], [4.90, 52.38], [4.88, 52.38], [4.88, 52.36]
6680
+ * ]]
6681
+ * },
6682
+ *
6683
+ * // From previous geometry data call
6684
+ * cityBoundaries // PolygonFeatures
6685
+ * ];
6686
+ * ```
6687
+ *
6688
+ * @group Places Search
6689
+ */
6690
+ type SearchGeometryInput = Polygon | MultiPolygon | Circle | PolygonFeatures;
6691
+ //#endregion
6984
6692
  //#region src/search/discoverPlaces.d.ts
6985
6693
  type SearchFeatureCollectionProps = SearchSummary & {
6986
6694
  queryIntent?: QueryIntent[];
6987
6695
  };
6988
6696
  /** The keys of `Params` that `Base` lacks, each forbidden. */
6989
6697
  type Without<Params, Base> = { [Key in Exclude<keyof Params, keyof Base>]?: never; };
6698
+ /**
6699
+ * What {@link discoverPlaces} adds to its search variant's `filters`: the POI categories as codes in
6700
+ * `poiCategories`, or in words with `poiCategoryQuery`, never both.
6701
+ *
6702
+ * @group Places Search
6703
+ */
6704
+ export type DiscoverPlacesCategoryFilters = {
6705
+ poiCategoryQuery?: never;
6706
+ } | {
6707
+ /**
6708
+ * Categories in words — `'sushi'`, `['gym', 'ev charging']` — kept as the POI categories they name.
6709
+ *
6710
+ * @remarks
6711
+ * Resolved with {@link resolvePOICategories} in the call's `language`, whose codes become the search's
6712
+ * `poiCategories`. The category list costs one request per language and session. A word nothing
6713
+ * matches is left out; when none matches, the call rejects with {@link SDKError} and sends no search.
6714
+ *
6715
+ * @example
6716
+ * ```typescript
6717
+ * const sushi = await discoverPlaces({
6718
+ * filters: { poiCategoryQuery: 'sushi' },
6719
+ * geoBias: { position: [4.9041, 52.3676] },
6720
+ * });
6721
+ * ```
6722
+ */
6723
+ poiCategoryQuery: string | string[];
6724
+ poiCategories?: never;
6725
+ };
6990
6726
  /**
6991
6727
  * What {@link discoverPlaces} takes: one search variant's params, with the other variants' own
6992
- * options forbidden. So `{ geometries, cursor }` is a compile error rather than a cursor silently
6993
- * dropped, as it would be with a plain union.
6728
+ * options forbidden, and {@link DiscoverPlacesCategoryFilters} added to `filters`. So
6729
+ * `{ geometries, cursor }` is a compile error rather than a cursor silently dropped, as it would be
6730
+ * with a plain union.
6994
6731
  *
6995
6732
  * @group Places Search
6996
6733
  */
6997
- export type DiscoverPlacesParams = (FuzzySearchParams & Without<GeometrySearchParams, FuzzySearchParams> & Without<AlongRouteSearchParams, FuzzySearchParams>) | (GeometrySearchParams & Without<FuzzySearchParams, GeometrySearchParams> & Without<AlongRouteSearchParams, GeometrySearchParams> & {
6734
+ export type DiscoverPlacesParams = {
6735
+ filters?: DiscoverPlacesCategoryFilters;
6736
+ } & ((FuzzySearchParams & Without<GeometrySearchParams, FuzzySearchParams> & Without<AlongRouteSearchParams, FuzzySearchParams>) | (GeometrySearchParams & Without<FuzzySearchParams, GeometrySearchParams> & Without<AlongRouteSearchParams, GeometrySearchParams> & {
6998
6737
  filters?: {
6999
6738
  countries?: never;
7000
6739
  };
@@ -7002,7 +6741,7 @@ export type DiscoverPlacesParams = (FuzzySearchParams & Without<GeometrySearchPa
7002
6741
  filters?: {
7003
6742
  countries?: never;
7004
6743
  };
7005
- });
6744
+ }));
7006
6745
  /**
7007
6746
  * Search service response containing places that match the query.
7008
6747
  *
@@ -7012,11 +6751,12 @@ export type DiscoverPlacesParams = (FuzzySearchParams & Without<GeometrySearchPa
7012
6751
  */
7013
6752
  export type DiscoverPlacesResponse = Places<SearchPlaceProps, SearchFeatureCollectionProps>;
7014
6753
  /**
7015
- * Universal search function for finding places by text query or within geometries.
6754
+ * Universal search function for finding places by text query, within geometries or along a route.
7016
6755
  *
7017
- * This is a unified interface that automatically routes to either:
7018
- * - **Geometry Search**: When geometries parameter is provided (search within specific areas)
7019
- * - **Fuzzy Search**: When no geometries provided (free-text search)
6756
+ * Runs one of three searches, picked from its params:
6757
+ * - **Along-route search** when `route` is given: places within a detour budget of the route
6758
+ * - **Geometry search** when `geometries` is given: places inside those areas
6759
+ * - **Fuzzy search** otherwise: free text, optionally biased by `geoBias`
7020
6760
  *
7021
6761
  * @remarks
7022
6762
  * The search service provides:
@@ -7053,6 +6793,12 @@ export type DiscoverPlacesResponse = Places<SearchPlaceProps, SearchFeatureColle
7053
6793
  * filters: { poiCategories: ['ITALIAN_RESTAURANT'] },
7054
6794
  * geoBias: { position: [4.9041, 52.3676], radiusMeters: 5000 } // Within 5km
7055
6795
  * });
6796
+ *
6797
+ * // The same, from a category in words
6798
+ * const italian = await discoverPlaces({
6799
+ * filters: { poiCategoryQuery: 'italian food' },
6800
+ * geoBias: { position: [4.9041, 52.3676], radiusMeters: 5000 }
6801
+ * });
7056
6802
  * ```
7057
6803
  *
7058
6804
  * @see [Search API Documentation](https://docs.tomtom.com/search-api/documentation/search-service/search-service)
@@ -7222,7 +6968,6 @@ type SearchSuggestionsParams = CommonServiceParams & {
7222
6968
  * measured from.
7223
6969
  */
7224
6970
  origin?: HasLngLat;
7225
- view?: View;
7226
6971
  };
7227
6972
  /**
7228
6973
  * The result of a {@link getSearchSuggestions} call.
@@ -7772,4 +7517,4 @@ type TrafficIncidentDetailsParams = TrafficIncidentDetailsByBBoxParams | Traffic
7772
7517
  */
7773
7518
  export declare const trafficIncidentDetails: (params: TrafficIncidentDetailsParams) => Promise<TrafficIncidentDetails>;
7774
7519
  //#endregion
7775
- export type { AdditionalDataAPI, AlongRouteSearchParams, AlongRouteSearchPayloadAPI, AlongRouteSearchRequestAPI, AlongRouteSearchResponse, AlongRouteSearchResponseAPI, AlongRouteSearchResultAPI, AlongRouteSortBy, AreaAnalyticsDateInput, ArrivalSide, BookmarkIntent, BookmarkIntentDetails, BrandSuggestion, CalculateRouteParams, CategorySuggestion, ChargingStationsAvailabilityParams, ChargingStopsStrategy, Circle, CircleAPI, CommonServiceParamsWithZoom, ComputeTravelTimeFor, CoordinateIntent, CoordinateIntentAPI, CoordinateIntentDetails, CoordinateIntentDetailsAPI, ExtendedRouteRepresentation, FunctionalRoadClass, FuzzySearchParams, FuzzySearchResponse, FuzzySearchResponseAPI, FuzzySearchResultAPI, GeocodingParams, GeocodingProps, GeocodingResponse, GeometriesInput, GeometryAPI, GeometryDataParams, GeometryDataResponseAPI, GeometryParams, GeometryPlaceParams, GeometrySearchFeatureCollectionProps, GeometrySearchParams, GeometrySearchPayloadAPI, GeometrySearchRequestAPI, GeometrySearchResponse, GeometrySearchResponseAPI, GeometrySearchResultAPI, GuidanceParams, InputSectionType, InputSectionTypes, LegCostModel, MaxNumberOfAlternatives, NearbyIntent, NearbyIntentAPI, NearbyIntentDetails, NearbyIntentDetailsAPI, POICategoriesParams, POICategoriesResponse, POICategoryResult, PlaceDetailsMandatoryParams, PlaceDetailsOptionalParams, PlaceDetailsParams, PlaceDetailsResponse, PlaceDetailsResponseAPI, PlaceDetailsResultAPI, PlaceSuggestion, PoiCategoriesResponseAPI, PoiCategoryAPI, PolygonAPI, QueryIntent, QueryIntentAPI, RefinementSuggestion, ReverseGeocodingMandatoryParams, ReverseGeocodingOptionalParams, ReverseGeocodingParams, RoutePointAPI, RouteStopOptions, SearchGeometryInput, SearchSuggestion, SearchSuggestionKind, SearchSuggestionsParams, SearchSuggestionsResponse, TrafficAreaAnalyticsDateRange, TrafficAreaAnalyticsDays, TrafficAreaAnalyticsParams, TrafficIncidentDetailsByBBoxParams, TrafficIncidentDetailsByIdsParams, TrafficIncidentDetailsByPolygonParams, TrafficIncidentDetailsParams, W3WIntent, W3WIntentDetails, arrivalSides, chargingStopsStrategies, functionalRoadClasses };
7520
+ export type { AdditionalDataAPI, AlongRouteSearchParams, AlongRouteSortBy, AreaAnalyticsDateInput, ArrivalSide, BookmarkIntent, BookmarkIntentDetails, BrandSuggestion, CalculateRouteParams, CategorySuggestion, ChargingStationsAvailabilityParams, ChargingStopsStrategy, Circle, CommonServiceParamsWithZoom, ComputeTravelTimeFor, CoordinateIntent, CoordinateIntentDetails, ExtendedRouteRepresentation, FunctionalRoadClass, FuzzySearchParams, GeocodingParams, GeocodingProps, GeocodingResponse, GeometriesInput, GeometryDataParams, GeometryDataResponseAPI, GeometryParams, GeometryPlaceParams, GeometrySearchParams, GuidanceParams, InputSectionType, InputSectionTypes, LegCostModel, MaxNumberOfAlternatives, NearbyIntent, NearbyIntentDetails, POICategoriesParams, POICategoriesResponse, POICategoryResult, PlaceDetailsMandatoryParams, PlaceDetailsOptionalParams, PlaceDetailsParams, PlaceDetailsResponse, PlaceDetailsResponseAPI, PlaceDetailsResultAPI, PlaceSuggestion, PlacesWithEVAvailabilityOptions, PoiCategoriesResponseAPI, PoiCategoryAPI, QueryIntent, RefinementSuggestion, ResolvePOICategoriesParams, ResolvedPOICategories, ReverseGeocodingMandatoryParams, ReverseGeocodingOptionalParams, ReverseGeocodingParams, RouteStopOptions, SearchGeometryInput, SearchSuggestion, SearchSuggestionKind, SearchSuggestionsParams, SearchSuggestionsResponse, TrafficAreaAnalyticsDateRange, TrafficAreaAnalyticsDays, TrafficAreaAnalyticsParams, TrafficIncidentDetailsByBBoxParams, TrafficIncidentDetailsByIdsParams, TrafficIncidentDetailsByPolygonParams, TrafficIncidentDetailsParams, W3WIntent, W3WIntentDetails, arrivalSides, chargingStopsStrategies, functionalRoadClasses };