@tapline/client 0.2.16 → 0.2.17

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.
Files changed (54) hide show
  1. package/README.md +3 -1
  2. package/dist/cjs/client.d.ts +2 -0
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +3 -0
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/index.d.ts +2 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +5 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/services/google_maps/client.d.ts +45 -0
  11. package/dist/cjs/services/google_maps/client.d.ts.map +1 -0
  12. package/dist/cjs/services/google_maps/client.js +99 -0
  13. package/dist/cjs/services/google_maps/client.js.map +1 -0
  14. package/dist/cjs/services/google_maps/index.d.ts +3 -0
  15. package/dist/cjs/services/google_maps/index.d.ts.map +1 -0
  16. package/dist/cjs/services/google_maps/index.js +22 -0
  17. package/dist/cjs/services/google_maps/index.js.map +1 -0
  18. package/dist/cjs/services/google_maps/types.d.ts +1315 -0
  19. package/dist/cjs/services/google_maps/types.d.ts.map +1 -0
  20. package/dist/cjs/services/google_maps/types.js +4 -0
  21. package/dist/cjs/services/google_maps/types.js.map +1 -0
  22. package/dist/cjs/services/pumpfun/client.d.ts +1 -1
  23. package/dist/cjs/services/pumpfun/client.d.ts.map +1 -1
  24. package/dist/cjs/services/pumpfun/client.js +3 -3
  25. package/dist/cjs/services/pumpfun/client.js.map +1 -1
  26. package/dist/cjs/services/pumpfun/types.d.ts +36 -58
  27. package/dist/cjs/services/pumpfun/types.d.ts.map +1 -1
  28. package/dist/client.d.ts +2 -0
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +3 -0
  31. package/dist/client.js.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/services/google_maps/client.d.ts +45 -0
  37. package/dist/services/google_maps/client.d.ts.map +1 -0
  38. package/dist/services/google_maps/client.js +95 -0
  39. package/dist/services/google_maps/client.js.map +1 -0
  40. package/dist/services/google_maps/index.d.ts +3 -0
  41. package/dist/services/google_maps/index.d.ts.map +1 -0
  42. package/dist/services/google_maps/index.js +4 -0
  43. package/dist/services/google_maps/index.js.map +1 -0
  44. package/dist/services/google_maps/types.d.ts +1315 -0
  45. package/dist/services/google_maps/types.d.ts.map +1 -0
  46. package/dist/services/google_maps/types.js +3 -0
  47. package/dist/services/google_maps/types.js.map +1 -0
  48. package/dist/services/pumpfun/client.d.ts +1 -1
  49. package/dist/services/pumpfun/client.d.ts.map +1 -1
  50. package/dist/services/pumpfun/client.js +3 -3
  51. package/dist/services/pumpfun/client.js.map +1 -1
  52. package/dist/services/pumpfun/types.d.ts +36 -58
  53. package/dist/services/pumpfun/types.d.ts.map +1 -1
  54. package/package.json +4 -2
@@ -0,0 +1,1315 @@
1
+ export interface ErrorDetail {
2
+ type?: string | null;
3
+ loc?: (string | number)[] | null;
4
+ msg?: string | null;
5
+ input?: unknown | null;
6
+ ctx?: Record<string, unknown> | null;
7
+ }
8
+ export interface ErrorResponse {
9
+ code: PublicError;
10
+ message: string;
11
+ request_id: string;
12
+ domain?: string | null;
13
+ details?: ErrorDetail[] | null;
14
+ upgrade_url?: string | null;
15
+ }
16
+ export interface GetContributorParams {
17
+ /** Contributor id, the number in `/maps/contrib/<id>`. */
18
+ contributor_id: string;
19
+ /** Latest reviews to include; the profile always lists its 10 latest photos. */
20
+ limit?: number;
21
+ /** Google language code for the answer's text. */
22
+ hl?: string;
23
+ /** Two-letter region; sets ranking, currency and units. */
24
+ gl?: string;
25
+ }
26
+ export interface GetDirectionsParams {
27
+ /** A place, an address or `lat,lng`. */
28
+ origin: string;
29
+ /** A place, an address or `lat,lng`. */
30
+ destination: string;
31
+ /** How to travel. */
32
+ travel_mode?: GoogleMapsTravelMode;
33
+ /** Google language code for the answer's text. */
34
+ hl?: string;
35
+ /** Two-letter region; sets ranking, currency and units. */
36
+ gl?: string;
37
+ }
38
+ export interface GetListParams {
39
+ /** The `list_id` of a public list, from a list answer or a share link. */
40
+ list_id: string;
41
+ /** Google language code for the answer's text. */
42
+ hl?: string;
43
+ /** Two-letter region; sets ranking, currency and units. */
44
+ gl?: string;
45
+ }
46
+ export interface GetPanoramaParams {
47
+ /** Street View panorama id; photo sphere ids go to `/photos/{photo_id}`. */
48
+ pano_id: string;
49
+ /** Google language code for the answer's text. */
50
+ hl?: string;
51
+ /** Two-letter region Google answers for. */
52
+ gl?: string;
53
+ }
54
+ export interface GetPhotoParams {
55
+ /** A `photo_id` from the place, photos, review or contributor routes. */
56
+ photo_id: string;
57
+ /** Google language code for the answer's text. */
58
+ hl?: string;
59
+ /** Two-letter region; sets ranking, currency and units. */
60
+ gl?: string;
61
+ }
62
+ export interface GetPlaceByCidParams {
63
+ /** Google's customer id of a place, the `?cid=` value, in decimal digits. */
64
+ cid: string;
65
+ /** Google language code for the answer's text; hotel check-in and check-out times are read only for `en`. */
66
+ hl?: string;
67
+ /** Two-letter region; sets ranking, currency and units. */
68
+ gl?: string;
69
+ }
70
+ export interface GetPlaceIdsParams {
71
+ /** Google place id; `ChIJ…` place ids resolve, address and coordinate ids (`Ei…`, `GhIJ…`) answer not_found. */
72
+ place_id: string;
73
+ }
74
+ export interface GetPlaceParams {
75
+ /** Google Maps feature id, `0x…:0x…`. */
76
+ feature_id: string;
77
+ /** Google language code for the answer's text; hotel check-in and check-out times are read only for `en`. */
78
+ hl?: string;
79
+ /** Two-letter region; sets ranking, currency and units. */
80
+ gl?: string;
81
+ }
82
+ export interface GetPopularTimesParams {
83
+ /** The place's `kgmid` (`/m/…` or `/g/…`) from the search or place routes. */
84
+ kgmid: string;
85
+ /** Google language code for the answer's text; `typical_visit` and `social_posts` are read only for `en`. */
86
+ hl?: string;
87
+ /** Two-letter region; sets ranking, currency and units. */
88
+ gl?: string;
89
+ }
90
+ export interface GetShareLinkParams {
91
+ /** Code after `maps.app.goo.gl/`. */
92
+ code: string;
93
+ }
94
+ export interface GetTrafficParams {
95
+ /** Southern latitude of the box, within ±85.05°. */
96
+ south: number;
97
+ /** Western longitude of the box; above `east` when the box crosses 180°. */
98
+ west: number;
99
+ /** Northern latitude of the box, within ±85.05°. */
100
+ north: number;
101
+ /** Eastern longitude of the box. */
102
+ east: number;
103
+ /** Google language code for the answer's text. */
104
+ hl?: string;
105
+ /** Two-letter region Google answers for. */
106
+ gl?: string;
107
+ }
108
+ export interface GetWeatherParams {
109
+ /** Latitude, within the ±85.05° the map covers. */
110
+ latitude: number;
111
+ /** Longitude. */
112
+ longitude: number;
113
+ /** Google language code for the answer's text. */
114
+ hl?: string;
115
+ /** Two-letter region; `us` answers in °F, most regions in °C. */
116
+ gl?: string;
117
+ }
118
+ /** A booking or ordering action; `action_url` is Google's own page for the action, `url` the provider's. */
119
+ export interface GoogleMapsActionLink {
120
+ provider_id: number | null;
121
+ url: string | null;
122
+ action_url: string | null;
123
+ provider: string | null;
124
+ domain: string | null;
125
+ action: GoogleMapsCode;
126
+ logo_url: string | null;
127
+ }
128
+ export interface GoogleMapsAreaRating {
129
+ rating_type: GoogleMapsCode;
130
+ value: number;
131
+ }
132
+ export interface GoogleMapsAttributeGroup {
133
+ group_id: string | null;
134
+ group: string | null;
135
+ items: GoogleMapsAttributeItem[];
136
+ }
137
+ export interface GoogleMapsAttributeItem {
138
+ attribute_id: string | null;
139
+ label: string | null;
140
+ value: boolean | null;
141
+ }
142
+ export interface GoogleMapsBoundsEcho {
143
+ south: number;
144
+ west: number;
145
+ north: number;
146
+ east: number;
147
+ }
148
+ export interface GoogleMapsCode {
149
+ code: number | string | null;
150
+ label: string | null;
151
+ }
152
+ /** `weight` is a score Google attaches to the place's link with the region (0.75 to 1.0 seen); its scale is not documented. */
153
+ export interface GoogleMapsContainingRegion {
154
+ feature_id: string | null;
155
+ name: string | null;
156
+ weight: number | null;
157
+ }
158
+ /** `count` is the profile's own tally, `display_count` the number its page shows; Google keeps both and they can differ. */
159
+ export interface GoogleMapsContributionCount {
160
+ count: number | null;
161
+ display_count: number | null;
162
+ contribution_type: GoogleMapsCode;
163
+ }
164
+ export interface GoogleMapsContributor {
165
+ contributor_id: string | null;
166
+ name: string | null;
167
+ description: string | null;
168
+ url: string;
169
+ points: number | null;
170
+ local_guide_level: number | null;
171
+ current_level_threshold_points: number | null;
172
+ next_level_threshold_points: number | null;
173
+ photo_count: number | null;
174
+ photo_view_count: number | null;
175
+ contribution_counts: GoogleMapsContributionCount[];
176
+ is_local_guide: boolean;
177
+ reviews: GoogleMapsReview[];
178
+ avatar_url: string | null;
179
+ photos: GoogleMapsPhoto[];
180
+ query: GoogleMapsContributorQuery;
181
+ }
182
+ export interface GoogleMapsContributorQuery {
183
+ contributor_id: string;
184
+ limit: number;
185
+ hl: string;
186
+ gl: string;
187
+ }
188
+ /** A Maps contributor as other records name them: a review author, a photo uploader, a place or list owner. */
189
+ export interface GoogleMapsContributorSummary {
190
+ contributor_id: string | null;
191
+ name: string | null;
192
+ url: string | null;
193
+ review_count: number | null;
194
+ photo_count: number | null;
195
+ local_guide_level: number | null;
196
+ is_local_guide: boolean | null;
197
+ avatar_url: string | null;
198
+ }
199
+ export interface GoogleMapsCoordinateQuery {
200
+ latitude: number;
201
+ longitude: number;
202
+ hl: string;
203
+ gl: string;
204
+ }
205
+ export interface GoogleMapsCoordinates {
206
+ latitude: number;
207
+ longitude: number;
208
+ }
209
+ export type GoogleMapsCursorCompletion = "exhausted";
210
+ /** `completion` is null while `next_cursor` is set, else `exhausted`. */
211
+ export interface GoogleMapsCursorPagination {
212
+ next_cursor: string | null;
213
+ completion: GoogleMapsCursorCompletion | null;
214
+ }
215
+ /** `busiest_hour` is the earliest hour with the day's highest `busyness_percent`. */
216
+ export interface GoogleMapsDayBusyness {
217
+ day_of_week: number;
218
+ day: string | null;
219
+ busiest_hour: number | null;
220
+ hourly_busyness: GoogleMapsHourBusyness[];
221
+ }
222
+ /** `day_state` is the row's own code: 1 on a day with hours, 2 on a day whose row reads "Closed". */
223
+ export interface GoogleMapsDayHours {
224
+ date: string | null;
225
+ day: string | null;
226
+ day_of_week: number | null;
227
+ day_state: GoogleMapsCode;
228
+ open_hours: GoogleMapsOpenHours[];
229
+ is_holiday_hours: boolean;
230
+ holiday: GoogleMapsHoliday | null;
231
+ }
232
+ export interface GoogleMapsDestinationClosure {
233
+ title: string | null;
234
+ text: string | null;
235
+ hours_text: string | null;
236
+ closing_text: string | null;
237
+ arrival_at: string | null;
238
+ }
239
+ export interface GoogleMapsDirections {
240
+ routes: GoogleMapsRoute[];
241
+ url: string | null;
242
+ origin: GoogleMapsPlaceSummary | null;
243
+ destination: GoogleMapsPlaceSummary | null;
244
+ origin_sub_places: GoogleMapsEndpointPart[];
245
+ destination_sub_places: GoogleMapsEndpointPart[];
246
+ destination_closure: GoogleMapsDestinationClosure | null;
247
+ travel_mode: GoogleMapsCode;
248
+ durations_by_mode: GoogleMapsModeDuration[];
249
+ query: GoogleMapsDirectionsQuery;
250
+ }
251
+ export interface GoogleMapsDirectionsQuery {
252
+ origin: string;
253
+ destination: string;
254
+ travel_mode: string;
255
+ hl: string;
256
+ gl: string;
257
+ }
258
+ export interface GoogleMapsDirectoryCategory {
259
+ feature_ids: string[];
260
+ name: string | null;
261
+ place_count: number | null;
262
+ }
263
+ export interface GoogleMapsDistance {
264
+ text: string | null;
265
+ meters: number | null;
266
+ }
267
+ export interface GoogleMapsDuration {
268
+ text: string | null;
269
+ seconds: number | null;
270
+ }
271
+ export interface GoogleMapsDurationRange {
272
+ text: string | null;
273
+ min_seconds: number | null;
274
+ max_seconds: number | null;
275
+ }
276
+ /** A walking or cycling route's height profile; `profile` is the climb or drop over each stretch, in order. */
277
+ export interface GoogleMapsElevation {
278
+ start_meters: number | null;
279
+ end_meters: number | null;
280
+ min_meters: number | null;
281
+ max_meters: number | null;
282
+ ascent_meters: number | null;
283
+ descent_meters: number | null;
284
+ profile: GoogleMapsElevationStep[];
285
+ }
286
+ export interface GoogleMapsElevationStep {
287
+ segment_meters: number;
288
+ elevation_change_meters: number;
289
+ }
290
+ /** A terminal, garage or other part of a directions endpoint; `linked_place` is another place Google ties the part to (code 2 on an airport's rental car centre, label unknown). */
291
+ export interface GoogleMapsEndpointPart {
292
+ place: GoogleMapsPlaceSummary;
293
+ linked_place: GoogleMapsLinkedPlace | null;
294
+ }
295
+ /** An event or a dated social post; a post has `post_token` and no `event_id`. */
296
+ export interface GoogleMapsEvent {
297
+ event_id: string | null;
298
+ title: string | null;
299
+ description: string | null;
300
+ starts_text: string | null;
301
+ ticket_links: GoogleMapsEventTicketLink[];
302
+ date_text: string | null;
303
+ relative_date: string | null;
304
+ source_account: string | null;
305
+ post_token: string | null;
306
+ image: GoogleMapsImage | null;
307
+ alternate_image: GoogleMapsImage | null;
308
+ }
309
+ export interface GoogleMapsEventTicketLink {
310
+ url: string | null;
311
+ seller: string | null;
312
+ seller_logo_url: string | null;
313
+ }
314
+ export interface GoogleMapsHighlight {
315
+ text: string | null;
316
+ details: string[];
317
+ }
318
+ export interface GoogleMapsHistoricalPanorama {
319
+ pano_id: string | null;
320
+ captured_at: string | null;
321
+ }
322
+ export interface GoogleMapsHoliday {
323
+ name: string | null;
324
+ text: string | null;
325
+ }
326
+ export interface GoogleMapsHotel {
327
+ hotel_id: string | null;
328
+ price_insight: GoogleMapsPriceInsight | null;
329
+ check_in_date: string | null;
330
+ check_out_date: string | null;
331
+ check_in_time: string | null;
332
+ check_out_time: string | null;
333
+ nearby_hotels: GoogleMapsNearbyLodging[];
334
+ nearby_vacation_rentals: GoogleMapsNearbyLodging[];
335
+ nights: number | null;
336
+ adults: number | null;
337
+ hotel_class: GoogleMapsCode;
338
+ offers: GoogleMapsHotelOffer[];
339
+ amenities: GoogleMapsHotelAmenity[];
340
+ }
341
+ /** `availability` labels come from the amenity names: 2 on "Free …", 3 on "Paid …"; 1 and 8 have no word of their own. */
342
+ export interface GoogleMapsHotelAmenity {
343
+ name: string | null;
344
+ is_available: boolean | null;
345
+ availability: GoogleMapsCode;
346
+ amenity: GoogleMapsCode;
347
+ }
348
+ export interface GoogleMapsHotelOffer {
349
+ free_cancellation_until_text: string | null;
350
+ url: string | null;
351
+ price: GoogleMapsMoney | null;
352
+ price_with_taxes: GoogleMapsMoney | null;
353
+ taxes_and_fees: GoogleMapsMoney | null;
354
+ seller: string | null;
355
+ member_deal: GoogleMapsMemberDeal | null;
356
+ is_official_site: boolean;
357
+ badges: string[];
358
+ rooms: GoogleMapsHotelRoom[];
359
+ seller_logo_url: string | null;
360
+ }
361
+ export interface GoogleMapsHotelRoom {
362
+ name: string | null;
363
+ free_cancellation_until_text: string | null;
364
+ url: string | null;
365
+ price: GoogleMapsMoney | null;
366
+ price_with_taxes: GoogleMapsMoney | null;
367
+ }
368
+ /** `busyness_percent` is relative to the place's busiest hour of the week (100). */
369
+ export interface GoogleMapsHourBusyness {
370
+ busyness_text: string | null;
371
+ hour: number;
372
+ busyness_percent: number | null;
373
+ hour_label: string | null;
374
+ }
375
+ export interface GoogleMapsImage {
376
+ photo_id: string | null;
377
+ url: string;
378
+ width: number | null;
379
+ height: number | null;
380
+ }
381
+ export interface GoogleMapsImageSize {
382
+ width: number | null;
383
+ height: number | null;
384
+ }
385
+ export interface GoogleMapsKgmidQuery {
386
+ kgmid: string;
387
+ hl: string;
388
+ gl: string;
389
+ }
390
+ export interface GoogleMapsLink {
391
+ url: string;
392
+ domain: string | null;
393
+ }
394
+ export interface GoogleMapsLinkedPlace {
395
+ feature_id: string | null;
396
+ cid: string | null;
397
+ link_type: GoogleMapsCode;
398
+ }
399
+ export interface GoogleMapsList {
400
+ list_id: string | null;
401
+ numeric_list_id: string | null;
402
+ title: string | null;
403
+ description: string | null;
404
+ url: string | null;
405
+ report_url: string | null;
406
+ place_count: number | null;
407
+ created_at: string | null;
408
+ updated_at: string | null;
409
+ owner: GoogleMapsContributorSummary | null;
410
+ places: GoogleMapsListItem[];
411
+ list_type: GoogleMapsCode;
412
+ icon: string | null;
413
+ query: GoogleMapsListQuery;
414
+ }
415
+ export interface GoogleMapsListItem {
416
+ note: string | null;
417
+ created_at: string | null;
418
+ updated_at: string | null;
419
+ added_by: GoogleMapsContributorSummary | null;
420
+ place: GoogleMapsPlaceSummary;
421
+ }
422
+ export interface GoogleMapsListQuery {
423
+ list_id: string;
424
+ hl: string;
425
+ gl: string;
426
+ }
427
+ export interface GoogleMapsLocalTime {
428
+ text: string | null;
429
+ timestamp: string | null;
430
+ time_zone: string | null;
431
+ utc_offset_seconds: number | null;
432
+ }
433
+ export interface GoogleMapsMemberDeal {
434
+ text: string | null;
435
+ price: GoogleMapsMoney | null;
436
+ price_with_taxes: GoogleMapsMoney | null;
437
+ }
438
+ export interface GoogleMapsModeDuration {
439
+ duration: GoogleMapsDuration | null;
440
+ travel_mode: GoogleMapsCode;
441
+ }
442
+ export interface GoogleMapsMoney {
443
+ text: string;
444
+ amount: number | null;
445
+ currency: string | null;
446
+ }
447
+ export interface GoogleMapsMoneyRange {
448
+ min_amount: number | null;
449
+ max_amount: number | null;
450
+ currency: string | null;
451
+ }
452
+ export interface GoogleMapsNearPanorama {
453
+ pano_id: string | null;
454
+ linked_pano_ids: string[];
455
+ location: GoogleMapsCoordinates | null;
456
+ altitude_meters: number | null;
457
+ orientation: GoogleMapsOrientation | null;
458
+ }
459
+ export interface GoogleMapsNearbyLodging {
460
+ feature_id: string | null;
461
+ cid: string | null;
462
+ kgmid: string | null;
463
+ name: string | null;
464
+ summary_text: string | null;
465
+ distance_text: string | null;
466
+ price: GoogleMapsMoney | null;
467
+ rating: number | null;
468
+ review_count: number | null;
469
+ location: GoogleMapsPlaceLocation | null;
470
+ categories: string[];
471
+ category_gcids: string[];
472
+ image: GoogleMapsImage | null;
473
+ image_source_url: string | null;
474
+ }
475
+ export interface GoogleMapsNeighborPanorama {
476
+ pano_id: string | null;
477
+ heading: number | null;
478
+ }
479
+ export interface GoogleMapsNotice {
480
+ notice_id: number | null;
481
+ title: string | null;
482
+ status_text: string | null;
483
+ details: GoogleMapsNoticeDetail[];
484
+ }
485
+ export interface GoogleMapsNoticeDetail {
486
+ text: string | null;
487
+ url: string | null;
488
+ }
489
+ /** Local clock times: a range ending at midnight closes at "24:00", one ending after midnight at its next-day time ("00:45"); "Open 24 hours" is 00:00 to 24:00. */
490
+ export interface GoogleMapsOpenHours {
491
+ text: string;
492
+ opens: string | null;
493
+ closes: string | null;
494
+ }
495
+ /** Degrees: `heading` clockwise from north, `pitch` above the horizon (0 level, 90 straight up), `roll` about the view axis as Google sends it. */
496
+ export interface GoogleMapsOrientation {
497
+ heading: number | null;
498
+ pitch: number | null;
499
+ roll: number | null;
500
+ }
501
+ export interface GoogleMapsPanoQuery {
502
+ pano_id: string;
503
+ hl: string;
504
+ gl: string;
505
+ }
506
+ /** `altitude_meters` is the camera's height, `ground_elevation_meters` the ground's; `depth_map` is Google's depth map, base64 as sent. */
507
+ export interface GoogleMapsPanorama {
508
+ pano_id: string | null;
509
+ address: string | null;
510
+ url: string;
511
+ report_url: string | null;
512
+ captured_at: string | null;
513
+ author: GoogleMapsContributorSummary | null;
514
+ location: GoogleMapsPlaceLocation;
515
+ nearby_places: GoogleMapsPlaceSummary[];
516
+ neighbor_panoramas: GoogleMapsNeighborPanorama[];
517
+ historical_panoramas: GoogleMapsHistoricalPanorama[];
518
+ referenced_panoramas: GoogleMapsPanoramaRef[];
519
+ streets: GoogleMapsStreet[];
520
+ altitude_meters: number | null;
521
+ ground_elevation_meters: number | null;
522
+ orientation: GoogleMapsOrientation | null;
523
+ copyright: string | null;
524
+ tile_size: GoogleMapsImageSize | null;
525
+ tile_levels: GoogleMapsImageSize[];
526
+ depth_map: string | null;
527
+ image_size: GoogleMapsImageSize | null;
528
+ query: GoogleMapsPanoQuery;
529
+ }
530
+ export interface GoogleMapsPanoramaArea {
531
+ panoramas: GoogleMapsNearPanorama[];
532
+ tile: GoogleMapsTile;
533
+ query: GoogleMapsCoordinateQuery;
534
+ }
535
+ export interface GoogleMapsPanoramaRef {
536
+ pano_id: string | null;
537
+ location: GoogleMapsCoordinates | null;
538
+ orientation: GoogleMapsOrientation | null;
539
+ }
540
+ export interface GoogleMapsPartnerReview {
541
+ text: string | null;
542
+ preview_text: string | null;
543
+ url: string | null;
544
+ rating: number | null;
545
+ created_at: string | null;
546
+ relative_date: string | null;
547
+ author_name: string | null;
548
+ aspects: GoogleMapsPartnerReviewAspect[];
549
+ }
550
+ export interface GoogleMapsPartnerReviewAspect {
551
+ text: string | null;
552
+ aspect_type: GoogleMapsCode;
553
+ }
554
+ export interface GoogleMapsPartnerReviews {
555
+ source_id: number | null;
556
+ url: string | null;
557
+ rating: number | null;
558
+ max_rating: number | null;
559
+ review_count: number | null;
560
+ source: string | null;
561
+ reviews: GoogleMapsPartnerReview[];
562
+ source_type: string | null;
563
+ source_logo_url: string | null;
564
+ }
565
+ export interface GoogleMapsPhone {
566
+ url: string | null;
567
+ number: string | null;
568
+ national: string | null;
569
+ international: string | null;
570
+ e164: string | null;
571
+ }
572
+ /** `url` is a resized copy (`=w{width}-h{height}` or `=k-no` suffix); `width` and `height` are the original's. A panorama's `altitude_meters` is its camera height. Partner photos have no `photo_id`; Google sends them a separate `thumbnail_url`. */
573
+ export interface GoogleMapsPhoto {
574
+ photo_id: string | null;
575
+ photo_short_id: string | null;
576
+ review_id: string | null;
577
+ address: string | null;
578
+ caption: string | null;
579
+ url: string | null;
580
+ report_url: string | null;
581
+ captured_at: string | null;
582
+ uploaded_at: string | null;
583
+ relative_upload_date: string | null;
584
+ author: GoogleMapsContributorSummary | null;
585
+ place: GoogleMapsPlaceSummary | null;
586
+ location: GoogleMapsCoordinates | null;
587
+ media_type: GoogleMapsCode;
588
+ media_subtype: GoogleMapsCode;
589
+ imagery_owner: GoogleMapsCode;
590
+ upload_source: string | null;
591
+ reference_type: string | null;
592
+ width: number | null;
593
+ height: number | null;
594
+ aspect_ratio: number | null;
595
+ copyright: string | null;
596
+ altitude_meters: number | null;
597
+ orientation: GoogleMapsOrientation | null;
598
+ thumbnail_url: string | null;
599
+ video: GoogleMapsVideo | null;
600
+ }
601
+ export type GoogleMapsPhotoCategory = "all" | "latest" | "menu" | "by_owner" | "street_view" | "videos";
602
+ export interface GoogleMapsPhotosPage {
603
+ photos: GoogleMapsPhoto[];
604
+ photo_count: number | null;
605
+ category: GoogleMapsCode;
606
+ query: GoogleMapsPhotosQuery;
607
+ pagination: GoogleMapsCursorPagination;
608
+ }
609
+ export interface GoogleMapsPhotosQuery {
610
+ feature_id: string;
611
+ category: string;
612
+ limit: number;
613
+ hl: string;
614
+ gl: string;
615
+ }
616
+ /**
617
+ * `place_kind` is Google's coarse kind code (6 lodging, 9 business, 1 landmark, 0 area); `commerce_kind` is 1 for food and drink and 2 for retail. Google sends no label for either.
618
+ *
619
+ * `open_state_changes_at` is the local time the status line next changes: an hour before closing ("Closing soon"), 30 minutes before opening, 24:00 when nothing changes before midnight. `is_operating_business` is false for closed businesses and for areas.
620
+ */
621
+ export interface GoogleMapsPlace {
622
+ feature_id: string | null;
623
+ cid: string | null;
624
+ place_id: string | null;
625
+ kgmid: string | null;
626
+ business_profile_id: string | null;
627
+ name: string | null;
628
+ native_name: string | null;
629
+ address: string | null;
630
+ description: string | null;
631
+ short_description: string | null;
632
+ description_paragraphs: string[];
633
+ long_description: string | null;
634
+ card_text: string | null;
635
+ name_language: string | null;
636
+ native_name_language: string | null;
637
+ url: string | null;
638
+ reviews_url: string | null;
639
+ website: GoogleMapsLink | null;
640
+ phone: GoogleMapsPhone | null;
641
+ reservation_links: GoogleMapsLink[];
642
+ action_links: GoogleMapsActionLink[];
643
+ claim_url: string | null;
644
+ price: GoogleMapsMoney | null;
645
+ price_level: string | null;
646
+ rating: number | null;
647
+ review_count: number | null;
648
+ rating_counts: GoogleMapsRatingCount[];
649
+ photo_count: number | null;
650
+ open_status: string | null;
651
+ open_state: GoogleMapsCode;
652
+ open_state_changes_at: string | null;
653
+ hours: GoogleMapsDayHours[];
654
+ secondary_hours: GoogleMapsSecondaryHours[];
655
+ business_status: GoogleMapsCode;
656
+ is_operating_business: boolean | null;
657
+ is_claimed: boolean;
658
+ notices: GoogleMapsNotice[];
659
+ notice_summaries: string[];
660
+ posting_restrictions: GoogleMapsPostingRestriction[];
661
+ location: GoogleMapsPlaceLocation;
662
+ owner: GoogleMapsContributorSummary | null;
663
+ located_in: GoogleMapsPlaceSummary | null;
664
+ area: GoogleMapsPlaceArea | null;
665
+ containing_regions: GoogleMapsContainingRegion[];
666
+ places_inside: GoogleMapsPlaceInside[];
667
+ directory_categories: GoogleMapsDirectoryCategory[];
668
+ top_reviews: GoogleMapsReview[];
669
+ review_quotes: GoogleMapsReviewQuote[];
670
+ partner_reviews: GoogleMapsPartnerReviews[];
671
+ review_topics: GoogleMapsReviewTopic[];
672
+ categories: string[];
673
+ category_gcids: string[];
674
+ result_type: string | null;
675
+ result_type_tags: string[];
676
+ place_kind: GoogleMapsCode;
677
+ commerce_kind: GoogleMapsCode;
678
+ attributes: GoogleMapsAttributeGroup[];
679
+ highlights: GoogleMapsHighlight[];
680
+ hotel: GoogleMapsHotel | null;
681
+ travel_times: GoogleMapsTravelTime[];
682
+ photos: GoogleMapsPhoto[];
683
+ cover_photos: GoogleMapsPhoto[];
684
+ other_photos: GoogleMapsPhoto[];
685
+ }
686
+ export interface GoogleMapsPlaceArea {
687
+ feature_id: string | null;
688
+ name: string | null;
689
+ description: string | null;
690
+ ratings: GoogleMapsAreaRating[];
691
+ }
692
+ export interface GoogleMapsPlaceIds {
693
+ place_id: string;
694
+ feature_id: string;
695
+ cid: string;
696
+ }
697
+ export interface GoogleMapsPlaceInside {
698
+ feature_id: string | null;
699
+ cid: string | null;
700
+ kgmid: string | null;
701
+ name: string | null;
702
+ address: string | null;
703
+ search_url: string | null;
704
+ price_level: string | null;
705
+ rating: number | null;
706
+ review_count: number | null;
707
+ rating_counts: GoogleMapsRatingCount[];
708
+ open_status: string | null;
709
+ hours: GoogleMapsDayHours[];
710
+ location: GoogleMapsPlaceLocation;
711
+ categories: string[];
712
+ category_gcids: string[];
713
+ image_url: string | null;
714
+ }
715
+ /** Where a place is; address parts the answer doesn't carry are null. */
716
+ export interface GoogleMapsPlaceLocation {
717
+ building_feature_id: string | null;
718
+ address_lines: string[];
719
+ street: string | null;
720
+ neighborhood: string | null;
721
+ city: string | null;
722
+ postal_code: string | null;
723
+ state: string | null;
724
+ locality: string | null;
725
+ country: string | null;
726
+ country_code: string | null;
727
+ plus_code: string | null;
728
+ global_plus_code: string | null;
729
+ address_with_name: string | null;
730
+ latitude: number | null;
731
+ longitude: number | null;
732
+ time_zone: string | null;
733
+ entrance: GoogleMapsCoordinates | null;
734
+ alternate_point: GoogleMapsCoordinates | null;
735
+ floor: string | null;
736
+ floor_name: string | null;
737
+ }
738
+ /** A place as other records name it; fields the naming answer doesn't carry are null. */
739
+ export interface GoogleMapsPlaceSummary {
740
+ feature_id: string | null;
741
+ cid: string | null;
742
+ place_id: string | null;
743
+ kgmid: string | null;
744
+ name: string | null;
745
+ address: string | null;
746
+ url: string | null;
747
+ price_range: string | null;
748
+ rating: number | null;
749
+ review_count: number | null;
750
+ location: GoogleMapsPlaceLocation | null;
751
+ categories: string[];
752
+ category_gcids: string[];
753
+ thumbnail_url: string | null;
754
+ }
755
+ export interface GoogleMapsPopularDish {
756
+ kgmid: string | null;
757
+ name: string | null;
758
+ url: string | null;
759
+ is_popular: boolean;
760
+ photos: GoogleMapsImage[];
761
+ }
762
+ export interface GoogleMapsPopularTimes {
763
+ kgmid: string;
764
+ feature_id: string | null;
765
+ cid: string | null;
766
+ place_id: string | null;
767
+ name: string | null;
768
+ review_summary: GoogleMapsReviewSummary | null;
769
+ website: GoogleMapsLink | null;
770
+ popular_times: GoogleMapsDayBusyness[];
771
+ typical_visit: GoogleMapsTypicalVisit | null;
772
+ lowest_ticket_price: GoogleMapsMoney | null;
773
+ price_per_person: GoogleMapsPricePerPerson | null;
774
+ events: GoogleMapsEvent[];
775
+ current_day_of_week: number | null;
776
+ tickets: GoogleMapsTicketSeller[];
777
+ social_posts: GoogleMapsSocialPost[];
778
+ social_post_activity: GoogleMapsSocialPostActivity | null;
779
+ people_also_search: GoogleMapsRelatedSearch[];
780
+ popular_dishes: GoogleMapsPopularDish[];
781
+ query: GoogleMapsKgmidQuery;
782
+ }
783
+ export interface GoogleMapsPost {
784
+ post_id: string | null;
785
+ post_short_id: string | null;
786
+ business_profile_id: string | null;
787
+ post_resource_name: string | null;
788
+ title: string | null;
789
+ text: string | null;
790
+ event_dates_text: string | null;
791
+ url: string | null;
792
+ search_url: string | null;
793
+ report_url: string | null;
794
+ created_at: string | null;
795
+ expires_at: string | null;
796
+ event_starts_at: string | null;
797
+ event_ends_at: string | null;
798
+ date_text: string | null;
799
+ call_to_action: GoogleMapsPostCallToAction | null;
800
+ post_type: GoogleMapsCode;
801
+ images: GoogleMapsImage[];
802
+ }
803
+ export interface GoogleMapsPostCallToAction {
804
+ label: string | null;
805
+ url: string | null;
806
+ action_type: GoogleMapsCode;
807
+ }
808
+ /** Google has turned off a kind of contribution for the place; `contribution_codes` names the kind as Google codes it. */
809
+ export interface GoogleMapsPostingRestriction {
810
+ title: string | null;
811
+ text: string | null;
812
+ url: string | null;
813
+ restriction_type: GoogleMapsCode;
814
+ contribution_codes: number[];
815
+ }
816
+ export interface GoogleMapsPostsPage {
817
+ posts: GoogleMapsPost[];
818
+ place: GoogleMapsPlaceSummary | null;
819
+ query: GoogleMapsPostsQuery;
820
+ }
821
+ export interface GoogleMapsPostsQuery {
822
+ feature_id: string;
823
+ hl: string;
824
+ gl: string;
825
+ }
826
+ export interface GoogleMapsPriceBucket {
827
+ price_range: GoogleMapsCode;
828
+ amount_range: GoogleMapsMoneyRange | null;
829
+ share_percent: number | null;
830
+ }
831
+ /** `percent_below_typical` is how far the price sits under the typical price, in whole percent; `deal_level` is 1 below 25 % and 2 from 25 %, with no label from Google. */
832
+ export interface GoogleMapsPriceInsight {
833
+ typical_price: GoogleMapsMoney | null;
834
+ difference_from_typical_price: GoogleMapsMoney | null;
835
+ percent_below_typical: number | null;
836
+ deal_level: GoogleMapsCode;
837
+ }
838
+ export interface GoogleMapsPricePerPerson {
839
+ text: string | null;
840
+ report_count: number | null;
841
+ amount_range: GoogleMapsMoneyRange | null;
842
+ distribution: GoogleMapsPriceBucket[];
843
+ }
844
+ export interface GoogleMapsQueriedPoint {
845
+ latitude: number;
846
+ longitude: number;
847
+ plus_code: string | null;
848
+ global_plus_code: string | null;
849
+ }
850
+ export interface GoogleMapsRatingCount {
851
+ count: number;
852
+ stars: number;
853
+ }
854
+ export interface GoogleMapsRelatedSearch {
855
+ search_term: string | null;
856
+ cids: string[];
857
+ kgmids: string[];
858
+ }
859
+ /** The root is the address at the point and `location` is that area's centre; `queried_point` holds the point asked for with its own plus codes; `place` is the map feature Google matched it to. */
860
+ export interface GoogleMapsReverseGeocode {
861
+ feature_id: string | null;
862
+ name: string | null;
863
+ address: string | null;
864
+ location: GoogleMapsPlaceLocation;
865
+ queried_point: GoogleMapsQueriedPoint;
866
+ place: GoogleMapsPlace | null;
867
+ query: GoogleMapsCoordinateQuery;
868
+ }
869
+ export interface GoogleMapsReview {
870
+ review_id: string | null;
871
+ text: string | null;
872
+ preview_text: string | null;
873
+ language: string | null;
874
+ original_language_name: string | null;
875
+ translated_text: string | null;
876
+ translated_preview_text: string | null;
877
+ translated_language_name: string | null;
878
+ url: string | null;
879
+ report_url: string | null;
880
+ rating: number | null;
881
+ max_rating: number | null;
882
+ like_count: number | null;
883
+ reaction_counts: GoogleMapsReviewReaction[];
884
+ created_at: string | null;
885
+ edited_at: string | null;
886
+ relative_date: string | null;
887
+ author: GoogleMapsContributorSummary | null;
888
+ place: GoogleMapsPlaceSummary | null;
889
+ details: GoogleMapsReviewDetail[];
890
+ owner_response: GoogleMapsReviewOwnerResponse | null;
891
+ source: GoogleMapsReviewSource | null;
892
+ photos: GoogleMapsPhoto[];
893
+ }
894
+ export interface GoogleMapsReviewAnswer {
895
+ answer_key: string | null;
896
+ label: string | null;
897
+ }
898
+ export interface GoogleMapsReviewDetail {
899
+ question_key: string | null;
900
+ question: string | null;
901
+ label: string | null;
902
+ text: string | null;
903
+ translated_text: string | null;
904
+ rating: number | null;
905
+ answers: GoogleMapsReviewAnswer[];
906
+ question_type: GoogleMapsCode;
907
+ }
908
+ export interface GoogleMapsReviewOwnerResponse {
909
+ text: string | null;
910
+ language: string | null;
911
+ report_url: string | null;
912
+ created_at: string | null;
913
+ relative_date: string | null;
914
+ }
915
+ export interface GoogleMapsReviewQuote {
916
+ review_id: string | null;
917
+ text: string | null;
918
+ rating: number | null;
919
+ author: GoogleMapsContributorSummary | null;
920
+ }
921
+ export interface GoogleMapsReviewReaction {
922
+ count: number;
923
+ reaction: GoogleMapsCode;
924
+ }
925
+ export type GoogleMapsReviewSort = "most_relevant" | "newest" | "highest_rating" | "lowest_rating";
926
+ export interface GoogleMapsReviewSource {
927
+ name: string | null;
928
+ logo_url: string | null;
929
+ }
930
+ /** Google's generated summary of a place's reviews; `criticism_text` is its line on what some reviews dislike. */
931
+ export interface GoogleMapsReviewSummary {
932
+ text: string | null;
933
+ criticism_text: string | null;
934
+ }
935
+ /** `count_outside_mentions` is a second count Google keeps per topic, often far above `mention_count`; the answer doesn't say what it counts. */
936
+ export interface GoogleMapsReviewTopic {
937
+ topic_id: string | null;
938
+ name: string | null;
939
+ mention_count: number | null;
940
+ count_outside_mentions: number | null;
941
+ mention_breakdown: GoogleMapsTopicMentionCount[];
942
+ }
943
+ export interface GoogleMapsReviewsPage {
944
+ reviews: GoogleMapsReview[];
945
+ query: GoogleMapsReviewsQuery;
946
+ pagination: GoogleMapsCursorPagination;
947
+ }
948
+ export interface GoogleMapsReviewsQuery {
949
+ feature_id: string;
950
+ sort: string;
951
+ limit: number;
952
+ hl: string;
953
+ gl: string;
954
+ }
955
+ /** Seconds. `duration_in_traffic` is the time Maps shows for leaving now (it equals `durations_by_mode`), `duration_without_traffic` the free-flow time, and `duration` Google's other estimate, which can exceed both. `walking_duration` is the walking time inside a transit route. */
956
+ export interface GoogleMapsRoute {
957
+ name: string | null;
958
+ description: string | null;
959
+ distance: GoogleMapsDistance | null;
960
+ duration: GoogleMapsDuration | null;
961
+ duration_in_traffic: GoogleMapsDuration | null;
962
+ duration_without_traffic: GoogleMapsDuration | null;
963
+ typical_duration: GoogleMapsDurationRange | null;
964
+ walking_duration: GoogleMapsDuration | null;
965
+ fare: GoogleMapsMoney | null;
966
+ departure_time: GoogleMapsLocalTime | null;
967
+ arrival_time: GoogleMapsLocalTime | null;
968
+ transit_agencies: GoogleMapsTransitAgency[];
969
+ travel_mode: GoogleMapsCode;
970
+ traffic_level: GoogleMapsCode;
971
+ time_zone: string | null;
972
+ time_zone_abbreviation: string | null;
973
+ notes: string[];
974
+ alternative_departures: GoogleMapsTransitDeparture[];
975
+ elevation: GoogleMapsElevation | null;
976
+ steps: GoogleMapsRouteStep[];
977
+ path: GoogleMapsCoordinates[];
978
+ traffic_segments: GoogleMapsTrafficSegment[];
979
+ }
980
+ /** `center_location` is the centre of the map view Google draws for the step. */
981
+ export interface GoogleMapsRouteStep {
982
+ instruction: string | null;
983
+ distance: GoogleMapsDistance | null;
984
+ duration: GoogleMapsDuration | null;
985
+ center_location: GoogleMapsCoordinates | null;
986
+ travel_mode: GoogleMapsCode;
987
+ notes: string[];
988
+ transit: GoogleMapsTransitDetails | null;
989
+ sub_steps: GoogleMapsRouteSubStep[];
990
+ street_view_photo: GoogleMapsPhoto | null;
991
+ }
992
+ /** `maneuver_location` is where the turn happens; `approach_location` a point on the way in, about 20 m before it. */
993
+ export interface GoogleMapsRouteSubStep {
994
+ instruction: string | null;
995
+ distance: GoogleMapsDistance | null;
996
+ duration: GoogleMapsDuration | null;
997
+ maneuver: string | null;
998
+ maneuver_location: GoogleMapsCoordinates | null;
999
+ approach_location: GoogleMapsCoordinates | null;
1000
+ travel_mode: GoogleMapsCode;
1001
+ notes: string[];
1002
+ street_view_photo: GoogleMapsPhoto | null;
1003
+ }
1004
+ export interface GoogleMapsSearchArea {
1005
+ feature_id: string | null;
1006
+ name: string | null;
1007
+ location: GoogleMapsCoordinates | null;
1008
+ }
1009
+ export interface GoogleMapsSearchMeta {
1010
+ result_count: number;
1011
+ viewport: GoogleMapsViewport | null;
1012
+ offset: number;
1013
+ }
1014
+ export interface GoogleMapsSearchPage {
1015
+ results: GoogleMapsPlace[];
1016
+ searched_area: GoogleMapsSearchArea | null;
1017
+ query: GoogleMapsSearchQuery;
1018
+ results_meta: GoogleMapsSearchMeta;
1019
+ pagination: GoogleMapsCursorPagination;
1020
+ }
1021
+ export interface GoogleMapsSearchQuery {
1022
+ text: string;
1023
+ latitude: number | null;
1024
+ longitude: number | null;
1025
+ zoom: number | null;
1026
+ open_now: boolean;
1027
+ min_rating: number | null;
1028
+ limit: number;
1029
+ hl: string;
1030
+ gl: string;
1031
+ }
1032
+ export interface GoogleMapsSecondaryHours {
1033
+ type: string | null;
1034
+ schedule: GoogleMapsDayHours[];
1035
+ }
1036
+ /** `place` when the link opens a place, `list_id` when it opens a list; `url` is where the link redirects. */
1037
+ export interface GoogleMapsShareLink {
1038
+ code: string;
1039
+ list_id: string | null;
1040
+ url: string | null;
1041
+ place: GoogleMapsPlaceSummary | null;
1042
+ target_type: GoogleMapsShareLinkTarget;
1043
+ }
1044
+ export type GoogleMapsShareLinkTarget = "list" | "place" | "directions" | "search" | "other";
1045
+ export interface GoogleMapsSocialPost {
1046
+ text: string | null;
1047
+ url: string | null;
1048
+ relative_date: string | null;
1049
+ author: GoogleMapsSocialPostAuthor | null;
1050
+ platform: string | null;
1051
+ media_type: GoogleMapsCode;
1052
+ image: GoogleMapsImage | null;
1053
+ }
1054
+ export interface GoogleMapsSocialPostActivity {
1055
+ post_count: number | null;
1056
+ counts: number[];
1057
+ page_rendered_at: string | null;
1058
+ post_times: string[];
1059
+ }
1060
+ export interface GoogleMapsSocialPostAuthor {
1061
+ username: string | null;
1062
+ name: string | null;
1063
+ }
1064
+ export interface GoogleMapsStreet {
1065
+ feature_id: string | null;
1066
+ name: string | null;
1067
+ headings: number[];
1068
+ }
1069
+ export interface GoogleMapsSuggestion {
1070
+ feature_id: string | null;
1071
+ cid: string | null;
1072
+ place_id: string | null;
1073
+ kgmid: string | null;
1074
+ text: string | null;
1075
+ main_text: string | null;
1076
+ secondary_text: string | null;
1077
+ location: GoogleMapsPlaceLocation | null;
1078
+ suggestion_type: GoogleMapsCode;
1079
+ main_text_matches: GoogleMapsTextRange[];
1080
+ secondary_text_matches: GoogleMapsTextRange[];
1081
+ }
1082
+ export interface GoogleMapsSuggestions {
1083
+ suggestions: GoogleMapsSuggestion[];
1084
+ query: GoogleMapsSuggestionsQuery;
1085
+ }
1086
+ export interface GoogleMapsSuggestionsQuery {
1087
+ text: string;
1088
+ latitude: number | null;
1089
+ longitude: number | null;
1090
+ hl: string;
1091
+ gl: string;
1092
+ }
1093
+ /** `unit` follows the request's `gl`: fahrenheit for `us`, celsius elsewhere, null where unverified. */
1094
+ export interface GoogleMapsTemperature {
1095
+ text: string | null;
1096
+ value: number | null;
1097
+ unit: string | null;
1098
+ }
1099
+ /** The matched characters of the text, from `start` up to but not including `end`. */
1100
+ export interface GoogleMapsTextRange {
1101
+ start: number;
1102
+ end: number;
1103
+ }
1104
+ export interface GoogleMapsTicketOffer {
1105
+ offer_id: string | null;
1106
+ seller_offer_id: string | null;
1107
+ merchant_id: string | null;
1108
+ title: string | null;
1109
+ url: string | null;
1110
+ price: GoogleMapsMoney | null;
1111
+ booking_reference: string | null;
1112
+ offer_token: string | null;
1113
+ features: GoogleMapsCode[];
1114
+ }
1115
+ export interface GoogleMapsTicketSeller {
1116
+ seller: string | null;
1117
+ offers: GoogleMapsTicketOffer[];
1118
+ is_official: boolean;
1119
+ seller_logo_url: string | null;
1120
+ }
1121
+ export interface GoogleMapsTile {
1122
+ x: number;
1123
+ y: number;
1124
+ zoom: number;
1125
+ }
1126
+ /** A count Google keeps per review topic beside its mention count, keyed by its slot (6 to 9); labels unknown. Slots 7 + 8 + 9 never exceed the mention count. */
1127
+ export interface GoogleMapsTopicMentionCount {
1128
+ count: number;
1129
+ mention_type: GoogleMapsCode;
1130
+ }
1131
+ /** `traffic_level` is `light`, `medium` or `heavy`, read from the report's icon; Google sends no code for it or for the comparison. */
1132
+ export interface GoogleMapsTraffic {
1133
+ summary: string | null;
1134
+ comparison_text: string | null;
1135
+ traffic_level: string | null;
1136
+ bounds: GoogleMapsBoundsEcho | null;
1137
+ zoom: number | null;
1138
+ query: GoogleMapsTrafficQuery;
1139
+ }
1140
+ export interface GoogleMapsTrafficQuery {
1141
+ south: number;
1142
+ west: number;
1143
+ north: number;
1144
+ east: number;
1145
+ hl: string;
1146
+ gl: string;
1147
+ }
1148
+ /** `path_index` is the first `path` point the segment covers; `speed` comes without a unit. */
1149
+ export interface GoogleMapsTrafficSegment {
1150
+ path_index: number | null;
1151
+ step_index: number | null;
1152
+ traffic_level: GoogleMapsCode;
1153
+ speed: number | null;
1154
+ }
1155
+ export interface GoogleMapsTransitAgency {
1156
+ agency_id: string | null;
1157
+ name: string | null;
1158
+ url: string | null;
1159
+ phone: string | null;
1160
+ }
1161
+ export interface GoogleMapsTransitDeparture {
1162
+ departure_time: GoogleMapsLocalTime | null;
1163
+ leave_at_time: GoogleMapsLocalTime | null;
1164
+ }
1165
+ /** `ride_duration` is the time between the departure and the arrival stop; the step's own `duration` adds the wait. */
1166
+ export interface GoogleMapsTransitDetails {
1167
+ line_schedule_url: string | null;
1168
+ ride_duration: GoogleMapsDuration | null;
1169
+ stop_count: number | null;
1170
+ departure_stop: GoogleMapsTransitStop | null;
1171
+ arrival_stop: GoogleMapsTransitStop | null;
1172
+ intermediate_stops: GoogleMapsTransitStop[];
1173
+ line_name: string | null;
1174
+ headsign: string | null;
1175
+ vehicle_type: GoogleMapsCode;
1176
+ line_color: string | null;
1177
+ line_text_color: string | null;
1178
+ }
1179
+ export interface GoogleMapsTransitStop {
1180
+ stop_id: string | null;
1181
+ feature_id: string | null;
1182
+ name: string | null;
1183
+ arrival_time: GoogleMapsLocalTime | null;
1184
+ departure_time: GoogleMapsLocalTime | null;
1185
+ earlier_arrival_time: GoogleMapsLocalTime | null;
1186
+ earlier_departure_time: GoogleMapsLocalTime | null;
1187
+ location: GoogleMapsCoordinates | null;
1188
+ }
1189
+ export type GoogleMapsTravelMode = "best" | "driving" | "bicycling" | "walking" | "transit";
1190
+ /** Travel time from `origin`, the centre of the map view Google answered for, to the place. */
1191
+ export interface GoogleMapsTravelTime {
1192
+ duration: GoogleMapsDuration | null;
1193
+ origin: GoogleMapsCoordinates | null;
1194
+ travel_mode: GoogleMapsCode;
1195
+ }
1196
+ export interface GoogleMapsTypicalVisit {
1197
+ text: string;
1198
+ min_minutes: number | null;
1199
+ max_minutes: number | null;
1200
+ }
1201
+ export interface GoogleMapsVideo {
1202
+ duration_ms: number | null;
1203
+ variants: GoogleMapsVideoVariant[];
1204
+ }
1205
+ export interface GoogleMapsVideoVariant {
1206
+ format_id: number | null;
1207
+ url: string;
1208
+ width: number | null;
1209
+ height: number | null;
1210
+ }
1211
+ export interface GoogleMapsViewport {
1212
+ latitude: number | null;
1213
+ longitude: number | null;
1214
+ altitude_meters: number | null;
1215
+ }
1216
+ export interface GoogleMapsWeather {
1217
+ feature_id: string | null;
1218
+ name: string | null;
1219
+ temperature: GoogleMapsTemperature | null;
1220
+ condition: GoogleMapsCode;
1221
+ icon_url: string | null;
1222
+ query: GoogleMapsCoordinateQuery;
1223
+ }
1224
+ export interface ListPanoramasNearParams {
1225
+ /** Latitude, within the ±85.05° the map covers. */
1226
+ latitude: number;
1227
+ /** Longitude. */
1228
+ longitude: number;
1229
+ /** Google language code for the answer's text. */
1230
+ hl?: string;
1231
+ /** Two-letter region Google answers for. */
1232
+ gl?: string;
1233
+ }
1234
+ export interface ListPhotosParams {
1235
+ /** Google Maps feature id, `0x…:0x…`. */
1236
+ feature_id: string;
1237
+ /** Photo tab to list. */
1238
+ category?: GoogleMapsPhotoCategory;
1239
+ /** Photos per page. */
1240
+ limit?: number;
1241
+ /** `pagination.next_cursor` from the previous page; empty for the first. */
1242
+ cursor?: string;
1243
+ /** Google language code for the answer's text. */
1244
+ hl?: string;
1245
+ /** Two-letter region; sets ranking, currency and units. */
1246
+ gl?: string;
1247
+ }
1248
+ export interface ListPostsParams {
1249
+ /** Google Maps feature id, `0x…:0x…`. */
1250
+ feature_id: string;
1251
+ /** Google language code for the answer's text. */
1252
+ hl?: string;
1253
+ /** Two-letter region; sets ranking, currency and units. */
1254
+ gl?: string;
1255
+ }
1256
+ export interface ListReviewsParams {
1257
+ /** Google Maps feature id, `0x…:0x…`. */
1258
+ feature_id: string;
1259
+ /** Review order. */
1260
+ sort?: GoogleMapsReviewSort;
1261
+ /** Reviews per page. */
1262
+ limit?: number;
1263
+ /** `pagination.next_cursor` from the previous page; empty for the first. */
1264
+ cursor?: string;
1265
+ /** Google language code for the answer's text. */
1266
+ hl?: string;
1267
+ /** Two-letter region; sets ranking, currency and units. */
1268
+ gl?: string;
1269
+ }
1270
+ export interface ListSuggestionsParams {
1271
+ /** Partly typed search text. */
1272
+ query: string;
1273
+ /** Latitude to search around, within the ±85.05° the map covers; send with `longitude`. */
1274
+ latitude?: number | null;
1275
+ /** Longitude to search around; send with `latitude`. */
1276
+ longitude?: number | null;
1277
+ /** Google language code for the answer's text. */
1278
+ hl?: string;
1279
+ /** Two-letter region; sets ranking, currency and units. */
1280
+ gl?: string;
1281
+ }
1282
+ export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "endpoint_retired" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
1283
+ export interface ReverseGeocodeParams {
1284
+ /** Latitude, within the ±85.05° the map covers. */
1285
+ latitude: number;
1286
+ /** Longitude. */
1287
+ longitude: number;
1288
+ /** Google language code for the answer's text. */
1289
+ hl?: string;
1290
+ /** Two-letter region; sets ranking, currency and units. */
1291
+ gl?: string;
1292
+ }
1293
+ export interface SearchParams {
1294
+ /** What to search for, as typed in the Maps search box. */
1295
+ query: string;
1296
+ /** Only places open at the time of the request. */
1297
+ open_now?: boolean;
1298
+ /** Lowest star rating, 2.0 to 4.5 in steps of 0.5. */
1299
+ min_rating?: number | null;
1300
+ /** `pagination.next_cursor` from the previous page; empty for the first. */
1301
+ cursor?: string;
1302
+ /** Latitude to search around, within the ±85.05° the map covers; send with `longitude`. */
1303
+ latitude?: number | null;
1304
+ /** Longitude to search around; send with `latitude`. */
1305
+ longitude?: number | null;
1306
+ /** Map zoom around the point, as in `/maps/@lat,lng,14z`; 14 when omitted. Needs `latitude` and `longitude`. */
1307
+ zoom?: number | null;
1308
+ /** Places per page. */
1309
+ limit?: number;
1310
+ /** Google language code for the answer's text; hotel check-in and check-out times are read only for `en`. */
1311
+ hl?: string;
1312
+ /** Two-letter region; sets ranking, currency and units. */
1313
+ gl?: string;
1314
+ }
1315
+ //# sourceMappingURL=types.d.ts.map