@voyantjs/storefront-react 0.4.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.
Files changed (49) hide show
  1. package/dist/client.d.ts +16 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +78 -0
  4. package/dist/hooks/index.d.ts +9 -0
  5. package/dist/hooks/index.d.ts.map +1 -0
  6. package/dist/hooks/index.js +8 -0
  7. package/dist/hooks/use-storefront-departure-itinerary.d.ts +22 -0
  8. package/dist/hooks/use-storefront-departure-itinerary.d.ts.map +1 -0
  9. package/dist/hooks/use-storefront-departure-itinerary.js +12 -0
  10. package/dist/hooks/use-storefront-departure-price-preview-mutation.d.ts +35 -0
  11. package/dist/hooks/use-storefront-departure-price-preview-mutation.d.ts.map +1 -0
  12. package/dist/hooks/use-storefront-departure-price-preview-mutation.js +15 -0
  13. package/dist/hooks/use-storefront-departure.d.ts +51 -0
  14. package/dist/hooks/use-storefront-departure.d.ts.map +1 -0
  15. package/dist/hooks/use-storefront-departure.js +12 -0
  16. package/dist/hooks/use-storefront-offer.d.ts +26 -0
  17. package/dist/hooks/use-storefront-offer.d.ts.map +1 -0
  18. package/dist/hooks/use-storefront-offer.js +12 -0
  19. package/dist/hooks/use-storefront-product-departures.d.ts +55 -0
  20. package/dist/hooks/use-storefront-product-departures.d.ts.map +1 -0
  21. package/dist/hooks/use-storefront-product-departures.js +12 -0
  22. package/dist/hooks/use-storefront-product-extensions.d.ts +47 -0
  23. package/dist/hooks/use-storefront-product-extensions.d.ts.map +1 -0
  24. package/dist/hooks/use-storefront-product-extensions.js +12 -0
  25. package/dist/hooks/use-storefront-product-offers.d.ts +26 -0
  26. package/dist/hooks/use-storefront-product-offers.d.ts.map +1 -0
  27. package/dist/hooks/use-storefront-product-offers.js +12 -0
  28. package/dist/hooks/use-storefront-settings.d.ts +62 -0
  29. package/dist/hooks/use-storefront-settings.d.ts.map +1 -0
  30. package/dist/hooks/use-storefront-settings.js +12 -0
  31. package/dist/index.d.ts +8 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +7 -0
  34. package/dist/operations.d.ts +278 -0
  35. package/dist/operations.d.ts.map +1 -0
  36. package/dist/operations.js +28 -0
  37. package/dist/provider.d.ts +2 -0
  38. package/dist/provider.d.ts.map +1 -0
  39. package/dist/provider.js +1 -0
  40. package/dist/query-keys.d.ts +31 -0
  41. package/dist/query-keys.d.ts.map +1 -0
  42. package/dist/query-keys.js +14 -0
  43. package/dist/query-options.d.ts +1096 -0
  44. package/dist/query-options.d.ts.map +1 -0
  45. package/dist/query-options.js +46 -0
  46. package/dist/schemas.d.ts +244 -0
  47. package/dist/schemas.d.ts.map +1 -0
  48. package/dist/schemas.js +11 -0
  49. package/package.json +79 -0
@@ -0,0 +1,1096 @@
1
+ import type { FetchWithValidationOptions } from "./client.js";
2
+ import { type StorefrontDepartureFilters, type StorefrontExtensionsFilters, type StorefrontOfferFilters } from "./query-keys.js";
3
+ export declare function getStorefrontSettingsQueryOptions(client: FetchWithValidationOptions): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
4
+ data: {
5
+ branding: {
6
+ logoUrl: string | null;
7
+ supportedLanguages: string[];
8
+ };
9
+ support: {
10
+ email: string | null;
11
+ phone: string | null;
12
+ };
13
+ legal: {
14
+ termsUrl: string | null;
15
+ privacyUrl: string | null;
16
+ defaultContractTemplateId: string | null;
17
+ };
18
+ forms: {
19
+ billing: {
20
+ fields: {
21
+ key: string;
22
+ label: string;
23
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
24
+ required: boolean;
25
+ placeholder: string | null;
26
+ description: string | null;
27
+ autocomplete: string | null;
28
+ options: {
29
+ value: string;
30
+ label: string;
31
+ }[];
32
+ }[];
33
+ };
34
+ passengers: {
35
+ fields: {
36
+ key: string;
37
+ label: string;
38
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
39
+ required: boolean;
40
+ placeholder: string | null;
41
+ description: string | null;
42
+ autocomplete: string | null;
43
+ options: {
44
+ value: string;
45
+ label: string;
46
+ }[];
47
+ }[];
48
+ };
49
+ };
50
+ payment: {
51
+ defaultMethod: "voucher" | "card" | "bank_transfer" | "cash" | "invoice" | null;
52
+ methods: {
53
+ code: "voucher" | "card" | "bank_transfer" | "cash" | "invoice";
54
+ label: string;
55
+ description: string | null;
56
+ enabled: boolean;
57
+ }[];
58
+ };
59
+ };
60
+ }, Error, {
61
+ data: {
62
+ branding: {
63
+ logoUrl: string | null;
64
+ supportedLanguages: string[];
65
+ };
66
+ support: {
67
+ email: string | null;
68
+ phone: string | null;
69
+ };
70
+ legal: {
71
+ termsUrl: string | null;
72
+ privacyUrl: string | null;
73
+ defaultContractTemplateId: string | null;
74
+ };
75
+ forms: {
76
+ billing: {
77
+ fields: {
78
+ key: string;
79
+ label: string;
80
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
81
+ required: boolean;
82
+ placeholder: string | null;
83
+ description: string | null;
84
+ autocomplete: string | null;
85
+ options: {
86
+ value: string;
87
+ label: string;
88
+ }[];
89
+ }[];
90
+ };
91
+ passengers: {
92
+ fields: {
93
+ key: string;
94
+ label: string;
95
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
96
+ required: boolean;
97
+ placeholder: string | null;
98
+ description: string | null;
99
+ autocomplete: string | null;
100
+ options: {
101
+ value: string;
102
+ label: string;
103
+ }[];
104
+ }[];
105
+ };
106
+ };
107
+ payment: {
108
+ defaultMethod: "voucher" | "card" | "bank_transfer" | "cash" | "invoice" | null;
109
+ methods: {
110
+ code: "voucher" | "card" | "bank_transfer" | "cash" | "invoice";
111
+ label: string;
112
+ description: string | null;
113
+ enabled: boolean;
114
+ }[];
115
+ };
116
+ };
117
+ }, readonly ["voyant", "storefront", "settings"]>, "queryFn"> & {
118
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
119
+ data: {
120
+ branding: {
121
+ logoUrl: string | null;
122
+ supportedLanguages: string[];
123
+ };
124
+ support: {
125
+ email: string | null;
126
+ phone: string | null;
127
+ };
128
+ legal: {
129
+ termsUrl: string | null;
130
+ privacyUrl: string | null;
131
+ defaultContractTemplateId: string | null;
132
+ };
133
+ forms: {
134
+ billing: {
135
+ fields: {
136
+ key: string;
137
+ label: string;
138
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
139
+ required: boolean;
140
+ placeholder: string | null;
141
+ description: string | null;
142
+ autocomplete: string | null;
143
+ options: {
144
+ value: string;
145
+ label: string;
146
+ }[];
147
+ }[];
148
+ };
149
+ passengers: {
150
+ fields: {
151
+ key: string;
152
+ label: string;
153
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
154
+ required: boolean;
155
+ placeholder: string | null;
156
+ description: string | null;
157
+ autocomplete: string | null;
158
+ options: {
159
+ value: string;
160
+ label: string;
161
+ }[];
162
+ }[];
163
+ };
164
+ };
165
+ payment: {
166
+ defaultMethod: "voucher" | "card" | "bank_transfer" | "cash" | "invoice" | null;
167
+ methods: {
168
+ code: "voucher" | "card" | "bank_transfer" | "cash" | "invoice";
169
+ label: string;
170
+ description: string | null;
171
+ enabled: boolean;
172
+ }[];
173
+ };
174
+ };
175
+ }, readonly ["voyant", "storefront", "settings"], never> | undefined;
176
+ } & {
177
+ queryKey: readonly ["voyant", "storefront", "settings"] & {
178
+ [dataTagSymbol]: {
179
+ data: {
180
+ branding: {
181
+ logoUrl: string | null;
182
+ supportedLanguages: string[];
183
+ };
184
+ support: {
185
+ email: string | null;
186
+ phone: string | null;
187
+ };
188
+ legal: {
189
+ termsUrl: string | null;
190
+ privacyUrl: string | null;
191
+ defaultContractTemplateId: string | null;
192
+ };
193
+ forms: {
194
+ billing: {
195
+ fields: {
196
+ key: string;
197
+ label: string;
198
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
199
+ required: boolean;
200
+ placeholder: string | null;
201
+ description: string | null;
202
+ autocomplete: string | null;
203
+ options: {
204
+ value: string;
205
+ label: string;
206
+ }[];
207
+ }[];
208
+ };
209
+ passengers: {
210
+ fields: {
211
+ key: string;
212
+ label: string;
213
+ type: "date" | "select" | "email" | "country" | "text" | "tel" | "textarea" | "checkbox";
214
+ required: boolean;
215
+ placeholder: string | null;
216
+ description: string | null;
217
+ autocomplete: string | null;
218
+ options: {
219
+ value: string;
220
+ label: string;
221
+ }[];
222
+ }[];
223
+ };
224
+ };
225
+ payment: {
226
+ defaultMethod: "voucher" | "card" | "bank_transfer" | "cash" | "invoice" | null;
227
+ methods: {
228
+ code: "voucher" | "card" | "bank_transfer" | "cash" | "invoice";
229
+ label: string;
230
+ description: string | null;
231
+ enabled: boolean;
232
+ }[];
233
+ };
234
+ };
235
+ };
236
+ [dataTagErrorSymbol]: Error;
237
+ };
238
+ };
239
+ export declare function getStorefrontDepartureQueryOptions(client: FetchWithValidationOptions, departureId: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
240
+ data: {
241
+ id: string;
242
+ productId: string;
243
+ itineraryId: string;
244
+ optionId: string | null;
245
+ dateLocal: string | null;
246
+ startAt: string | null;
247
+ endAt: string | null;
248
+ timezone: string;
249
+ startTime: {
250
+ id: string;
251
+ label: string | null;
252
+ startTimeLocal: string;
253
+ durationMinutes: number | null;
254
+ } | null;
255
+ meetingPoint: string | null;
256
+ capacity: number | null;
257
+ remaining: number | null;
258
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
259
+ nights: number | null;
260
+ days: number | null;
261
+ ratePlans: {
262
+ id: string;
263
+ active: boolean;
264
+ name: string;
265
+ pricingModel: string;
266
+ basePrices: {
267
+ amount: number;
268
+ currencyCode: string;
269
+ }[];
270
+ roomPrices: {
271
+ amount: number;
272
+ currencyCode: string;
273
+ roomType: {
274
+ id: string;
275
+ name: string;
276
+ occupancy: {
277
+ adultsMin: number;
278
+ adultsMax: number;
279
+ childrenMax: number;
280
+ };
281
+ };
282
+ }[];
283
+ }[];
284
+ };
285
+ }, Error, {
286
+ data: {
287
+ id: string;
288
+ productId: string;
289
+ itineraryId: string;
290
+ optionId: string | null;
291
+ dateLocal: string | null;
292
+ startAt: string | null;
293
+ endAt: string | null;
294
+ timezone: string;
295
+ startTime: {
296
+ id: string;
297
+ label: string | null;
298
+ startTimeLocal: string;
299
+ durationMinutes: number | null;
300
+ } | null;
301
+ meetingPoint: string | null;
302
+ capacity: number | null;
303
+ remaining: number | null;
304
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
305
+ nights: number | null;
306
+ days: number | null;
307
+ ratePlans: {
308
+ id: string;
309
+ active: boolean;
310
+ name: string;
311
+ pricingModel: string;
312
+ basePrices: {
313
+ amount: number;
314
+ currencyCode: string;
315
+ }[];
316
+ roomPrices: {
317
+ amount: number;
318
+ currencyCode: string;
319
+ roomType: {
320
+ id: string;
321
+ name: string;
322
+ occupancy: {
323
+ adultsMin: number;
324
+ adultsMax: number;
325
+ childrenMax: number;
326
+ };
327
+ };
328
+ }[];
329
+ }[];
330
+ };
331
+ }, readonly ["voyant", "storefront", "departures", "detail", string]>, "queryFn"> & {
332
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
333
+ data: {
334
+ id: string;
335
+ productId: string;
336
+ itineraryId: string;
337
+ optionId: string | null;
338
+ dateLocal: string | null;
339
+ startAt: string | null;
340
+ endAt: string | null;
341
+ timezone: string;
342
+ startTime: {
343
+ id: string;
344
+ label: string | null;
345
+ startTimeLocal: string;
346
+ durationMinutes: number | null;
347
+ } | null;
348
+ meetingPoint: string | null;
349
+ capacity: number | null;
350
+ remaining: number | null;
351
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
352
+ nights: number | null;
353
+ days: number | null;
354
+ ratePlans: {
355
+ id: string;
356
+ active: boolean;
357
+ name: string;
358
+ pricingModel: string;
359
+ basePrices: {
360
+ amount: number;
361
+ currencyCode: string;
362
+ }[];
363
+ roomPrices: {
364
+ amount: number;
365
+ currencyCode: string;
366
+ roomType: {
367
+ id: string;
368
+ name: string;
369
+ occupancy: {
370
+ adultsMin: number;
371
+ adultsMax: number;
372
+ childrenMax: number;
373
+ };
374
+ };
375
+ }[];
376
+ }[];
377
+ };
378
+ }, readonly ["voyant", "storefront", "departures", "detail", string], never> | undefined;
379
+ } & {
380
+ queryKey: readonly ["voyant", "storefront", "departures", "detail", string] & {
381
+ [dataTagSymbol]: {
382
+ data: {
383
+ id: string;
384
+ productId: string;
385
+ itineraryId: string;
386
+ optionId: string | null;
387
+ dateLocal: string | null;
388
+ startAt: string | null;
389
+ endAt: string | null;
390
+ timezone: string;
391
+ startTime: {
392
+ id: string;
393
+ label: string | null;
394
+ startTimeLocal: string;
395
+ durationMinutes: number | null;
396
+ } | null;
397
+ meetingPoint: string | null;
398
+ capacity: number | null;
399
+ remaining: number | null;
400
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
401
+ nights: number | null;
402
+ days: number | null;
403
+ ratePlans: {
404
+ id: string;
405
+ active: boolean;
406
+ name: string;
407
+ pricingModel: string;
408
+ basePrices: {
409
+ amount: number;
410
+ currencyCode: string;
411
+ }[];
412
+ roomPrices: {
413
+ amount: number;
414
+ currencyCode: string;
415
+ roomType: {
416
+ id: string;
417
+ name: string;
418
+ occupancy: {
419
+ adultsMin: number;
420
+ adultsMax: number;
421
+ childrenMax: number;
422
+ };
423
+ };
424
+ }[];
425
+ }[];
426
+ };
427
+ };
428
+ [dataTagErrorSymbol]: Error;
429
+ };
430
+ };
431
+ export declare function getStorefrontProductDeparturesQueryOptions(client: FetchWithValidationOptions, productId: string, filters?: StorefrontDepartureFilters): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
432
+ data: {
433
+ id: string;
434
+ productId: string;
435
+ itineraryId: string;
436
+ optionId: string | null;
437
+ dateLocal: string | null;
438
+ startAt: string | null;
439
+ endAt: string | null;
440
+ timezone: string;
441
+ startTime: {
442
+ id: string;
443
+ label: string | null;
444
+ startTimeLocal: string;
445
+ durationMinutes: number | null;
446
+ } | null;
447
+ meetingPoint: string | null;
448
+ capacity: number | null;
449
+ remaining: number | null;
450
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
451
+ nights: number | null;
452
+ days: number | null;
453
+ ratePlans: {
454
+ id: string;
455
+ active: boolean;
456
+ name: string;
457
+ pricingModel: string;
458
+ basePrices: {
459
+ amount: number;
460
+ currencyCode: string;
461
+ }[];
462
+ roomPrices: {
463
+ amount: number;
464
+ currencyCode: string;
465
+ roomType: {
466
+ id: string;
467
+ name: string;
468
+ occupancy: {
469
+ adultsMin: number;
470
+ adultsMax: number;
471
+ childrenMax: number;
472
+ };
473
+ };
474
+ }[];
475
+ }[];
476
+ }[];
477
+ total: number;
478
+ limit: number;
479
+ offset: number;
480
+ }, Error, {
481
+ data: {
482
+ id: string;
483
+ productId: string;
484
+ itineraryId: string;
485
+ optionId: string | null;
486
+ dateLocal: string | null;
487
+ startAt: string | null;
488
+ endAt: string | null;
489
+ timezone: string;
490
+ startTime: {
491
+ id: string;
492
+ label: string | null;
493
+ startTimeLocal: string;
494
+ durationMinutes: number | null;
495
+ } | null;
496
+ meetingPoint: string | null;
497
+ capacity: number | null;
498
+ remaining: number | null;
499
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
500
+ nights: number | null;
501
+ days: number | null;
502
+ ratePlans: {
503
+ id: string;
504
+ active: boolean;
505
+ name: string;
506
+ pricingModel: string;
507
+ basePrices: {
508
+ amount: number;
509
+ currencyCode: string;
510
+ }[];
511
+ roomPrices: {
512
+ amount: number;
513
+ currencyCode: string;
514
+ roomType: {
515
+ id: string;
516
+ name: string;
517
+ occupancy: {
518
+ adultsMin: number;
519
+ adultsMax: number;
520
+ childrenMax: number;
521
+ };
522
+ };
523
+ }[];
524
+ }[];
525
+ }[];
526
+ total: number;
527
+ limit: number;
528
+ offset: number;
529
+ }, readonly ["voyant", "storefront", "departures", "product-list", string, {
530
+ optionId?: string | undefined;
531
+ status?: "open" | "closed" | "sold_out" | "cancelled" | undefined;
532
+ dateFrom?: string | undefined;
533
+ dateTo?: string | undefined;
534
+ limit?: unknown;
535
+ offset?: unknown;
536
+ }]>, "queryFn"> & {
537
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
538
+ data: {
539
+ id: string;
540
+ productId: string;
541
+ itineraryId: string;
542
+ optionId: string | null;
543
+ dateLocal: string | null;
544
+ startAt: string | null;
545
+ endAt: string | null;
546
+ timezone: string;
547
+ startTime: {
548
+ id: string;
549
+ label: string | null;
550
+ startTimeLocal: string;
551
+ durationMinutes: number | null;
552
+ } | null;
553
+ meetingPoint: string | null;
554
+ capacity: number | null;
555
+ remaining: number | null;
556
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
557
+ nights: number | null;
558
+ days: number | null;
559
+ ratePlans: {
560
+ id: string;
561
+ active: boolean;
562
+ name: string;
563
+ pricingModel: string;
564
+ basePrices: {
565
+ amount: number;
566
+ currencyCode: string;
567
+ }[];
568
+ roomPrices: {
569
+ amount: number;
570
+ currencyCode: string;
571
+ roomType: {
572
+ id: string;
573
+ name: string;
574
+ occupancy: {
575
+ adultsMin: number;
576
+ adultsMax: number;
577
+ childrenMax: number;
578
+ };
579
+ };
580
+ }[];
581
+ }[];
582
+ }[];
583
+ total: number;
584
+ limit: number;
585
+ offset: number;
586
+ }, readonly ["voyant", "storefront", "departures", "product-list", string, {
587
+ optionId?: string | undefined;
588
+ status?: "open" | "closed" | "sold_out" | "cancelled" | undefined;
589
+ dateFrom?: string | undefined;
590
+ dateTo?: string | undefined;
591
+ limit?: unknown;
592
+ offset?: unknown;
593
+ }], never> | undefined;
594
+ } & {
595
+ queryKey: readonly ["voyant", "storefront", "departures", "product-list", string, {
596
+ optionId?: string | undefined;
597
+ status?: "open" | "closed" | "sold_out" | "cancelled" | undefined;
598
+ dateFrom?: string | undefined;
599
+ dateTo?: string | undefined;
600
+ limit?: unknown;
601
+ offset?: unknown;
602
+ }] & {
603
+ [dataTagSymbol]: {
604
+ data: {
605
+ id: string;
606
+ productId: string;
607
+ itineraryId: string;
608
+ optionId: string | null;
609
+ dateLocal: string | null;
610
+ startAt: string | null;
611
+ endAt: string | null;
612
+ timezone: string;
613
+ startTime: {
614
+ id: string;
615
+ label: string | null;
616
+ startTimeLocal: string;
617
+ durationMinutes: number | null;
618
+ } | null;
619
+ meetingPoint: string | null;
620
+ capacity: number | null;
621
+ remaining: number | null;
622
+ departureStatus: "open" | "closed" | "sold_out" | "cancelled" | "on_request";
623
+ nights: number | null;
624
+ days: number | null;
625
+ ratePlans: {
626
+ id: string;
627
+ active: boolean;
628
+ name: string;
629
+ pricingModel: string;
630
+ basePrices: {
631
+ amount: number;
632
+ currencyCode: string;
633
+ }[];
634
+ roomPrices: {
635
+ amount: number;
636
+ currencyCode: string;
637
+ roomType: {
638
+ id: string;
639
+ name: string;
640
+ occupancy: {
641
+ adultsMin: number;
642
+ adultsMax: number;
643
+ childrenMax: number;
644
+ };
645
+ };
646
+ }[];
647
+ }[];
648
+ }[];
649
+ total: number;
650
+ limit: number;
651
+ offset: number;
652
+ };
653
+ [dataTagErrorSymbol]: Error;
654
+ };
655
+ };
656
+ export declare function getStorefrontDepartureItineraryQueryOptions(client: FetchWithValidationOptions, productId: string, departureId: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
657
+ data: {
658
+ id: string;
659
+ days: {
660
+ id: string;
661
+ title: string;
662
+ description: string | null;
663
+ thumbnail: {
664
+ url: string;
665
+ } | null;
666
+ segments: {
667
+ id: string;
668
+ title: string;
669
+ description: string | null;
670
+ }[];
671
+ }[];
672
+ };
673
+ }, Error, {
674
+ data: {
675
+ id: string;
676
+ days: {
677
+ id: string;
678
+ title: string;
679
+ description: string | null;
680
+ thumbnail: {
681
+ url: string;
682
+ } | null;
683
+ segments: {
684
+ id: string;
685
+ title: string;
686
+ description: string | null;
687
+ }[];
688
+ }[];
689
+ };
690
+ }, readonly ["voyant", "storefront", "departures", "detail", string, "itinerary", string]>, "queryFn"> & {
691
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
692
+ data: {
693
+ id: string;
694
+ days: {
695
+ id: string;
696
+ title: string;
697
+ description: string | null;
698
+ thumbnail: {
699
+ url: string;
700
+ } | null;
701
+ segments: {
702
+ id: string;
703
+ title: string;
704
+ description: string | null;
705
+ }[];
706
+ }[];
707
+ };
708
+ }, readonly ["voyant", "storefront", "departures", "detail", string, "itinerary", string], never> | undefined;
709
+ } & {
710
+ queryKey: readonly ["voyant", "storefront", "departures", "detail", string, "itinerary", string] & {
711
+ [dataTagSymbol]: {
712
+ data: {
713
+ id: string;
714
+ days: {
715
+ id: string;
716
+ title: string;
717
+ description: string | null;
718
+ thumbnail: {
719
+ url: string;
720
+ } | null;
721
+ segments: {
722
+ id: string;
723
+ title: string;
724
+ description: string | null;
725
+ }[];
726
+ }[];
727
+ };
728
+ };
729
+ [dataTagErrorSymbol]: Error;
730
+ };
731
+ };
732
+ export declare function getStorefrontProductExtensionsQueryOptions(client: FetchWithValidationOptions, productId: string, filters?: StorefrontExtensionsFilters): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
733
+ extensions: {
734
+ id: string;
735
+ name: string;
736
+ label: string;
737
+ required: boolean;
738
+ selectable: boolean;
739
+ hasOptions: boolean;
740
+ refProductId: string | null;
741
+ thumb: string | null;
742
+ pricePerPerson: number | null;
743
+ currencyCode: string;
744
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
745
+ defaultQuantity: number | null;
746
+ minQuantity: number | null;
747
+ maxQuantity: number | null;
748
+ }[];
749
+ items: {
750
+ id: string;
751
+ name: string;
752
+ label: string;
753
+ required: boolean;
754
+ selectable: boolean;
755
+ hasOptions: boolean;
756
+ refProductId: string | null;
757
+ thumb: string | null;
758
+ pricePerPerson: number | null;
759
+ currencyCode: string;
760
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
761
+ defaultQuantity: number | null;
762
+ minQuantity: number | null;
763
+ maxQuantity: number | null;
764
+ }[];
765
+ details: Record<string, {
766
+ description: string | null;
767
+ media: {
768
+ url: string;
769
+ alt: string | null;
770
+ }[];
771
+ }>;
772
+ currencyCode: string;
773
+ }, Error, {
774
+ extensions: {
775
+ id: string;
776
+ name: string;
777
+ label: string;
778
+ required: boolean;
779
+ selectable: boolean;
780
+ hasOptions: boolean;
781
+ refProductId: string | null;
782
+ thumb: string | null;
783
+ pricePerPerson: number | null;
784
+ currencyCode: string;
785
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
786
+ defaultQuantity: number | null;
787
+ minQuantity: number | null;
788
+ maxQuantity: number | null;
789
+ }[];
790
+ items: {
791
+ id: string;
792
+ name: string;
793
+ label: string;
794
+ required: boolean;
795
+ selectable: boolean;
796
+ hasOptions: boolean;
797
+ refProductId: string | null;
798
+ thumb: string | null;
799
+ pricePerPerson: number | null;
800
+ currencyCode: string;
801
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
802
+ defaultQuantity: number | null;
803
+ minQuantity: number | null;
804
+ maxQuantity: number | null;
805
+ }[];
806
+ details: Record<string, {
807
+ description: string | null;
808
+ media: {
809
+ url: string;
810
+ alt: string | null;
811
+ }[];
812
+ }>;
813
+ currencyCode: string;
814
+ }, readonly ["voyant", "storefront", "extensions", string, {
815
+ optionId?: string | undefined;
816
+ }]>, "queryFn"> & {
817
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
818
+ extensions: {
819
+ id: string;
820
+ name: string;
821
+ label: string;
822
+ required: boolean;
823
+ selectable: boolean;
824
+ hasOptions: boolean;
825
+ refProductId: string | null;
826
+ thumb: string | null;
827
+ pricePerPerson: number | null;
828
+ currencyCode: string;
829
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
830
+ defaultQuantity: number | null;
831
+ minQuantity: number | null;
832
+ maxQuantity: number | null;
833
+ }[];
834
+ items: {
835
+ id: string;
836
+ name: string;
837
+ label: string;
838
+ required: boolean;
839
+ selectable: boolean;
840
+ hasOptions: boolean;
841
+ refProductId: string | null;
842
+ thumb: string | null;
843
+ pricePerPerson: number | null;
844
+ currencyCode: string;
845
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
846
+ defaultQuantity: number | null;
847
+ minQuantity: number | null;
848
+ maxQuantity: number | null;
849
+ }[];
850
+ details: Record<string, {
851
+ description: string | null;
852
+ media: {
853
+ url: string;
854
+ alt: string | null;
855
+ }[];
856
+ }>;
857
+ currencyCode: string;
858
+ }, readonly ["voyant", "storefront", "extensions", string, {
859
+ optionId?: string | undefined;
860
+ }], never> | undefined;
861
+ } & {
862
+ queryKey: readonly ["voyant", "storefront", "extensions", string, {
863
+ optionId?: string | undefined;
864
+ }] & {
865
+ [dataTagSymbol]: {
866
+ extensions: {
867
+ id: string;
868
+ name: string;
869
+ label: string;
870
+ required: boolean;
871
+ selectable: boolean;
872
+ hasOptions: boolean;
873
+ refProductId: string | null;
874
+ thumb: string | null;
875
+ pricePerPerson: number | null;
876
+ currencyCode: string;
877
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
878
+ defaultQuantity: number | null;
879
+ minQuantity: number | null;
880
+ maxQuantity: number | null;
881
+ }[];
882
+ items: {
883
+ id: string;
884
+ name: string;
885
+ label: string;
886
+ required: boolean;
887
+ selectable: boolean;
888
+ hasOptions: boolean;
889
+ refProductId: string | null;
890
+ thumb: string | null;
891
+ pricePerPerson: number | null;
892
+ currencyCode: string;
893
+ pricingMode: "included" | "per_person" | "per_booking" | "quantity_based" | "on_request" | "free";
894
+ defaultQuantity: number | null;
895
+ minQuantity: number | null;
896
+ maxQuantity: number | null;
897
+ }[];
898
+ details: Record<string, {
899
+ description: string | null;
900
+ media: {
901
+ url: string;
902
+ alt: string | null;
903
+ }[];
904
+ }>;
905
+ currencyCode: string;
906
+ };
907
+ [dataTagErrorSymbol]: Error;
908
+ };
909
+ };
910
+ export declare function getStorefrontProductOffersQueryOptions(client: FetchWithValidationOptions, productId: string, filters?: StorefrontOfferFilters): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
911
+ data: {
912
+ id: string;
913
+ name: string;
914
+ slug: string | null;
915
+ description: string | null;
916
+ discountType: "percentage" | "fixed_amount";
917
+ discountValue: string;
918
+ currency: string | null;
919
+ applicableProductIds: string[];
920
+ applicableDepartureIds: string[];
921
+ validFrom: string | null;
922
+ validTo: string | null;
923
+ minPassengers: number | null;
924
+ imageMobileUrl: string | null;
925
+ imageDesktopUrl: string | null;
926
+ stackable: boolean;
927
+ createdAt: string;
928
+ updatedAt: string;
929
+ }[];
930
+ }, Error, {
931
+ data: {
932
+ id: string;
933
+ name: string;
934
+ slug: string | null;
935
+ description: string | null;
936
+ discountType: "percentage" | "fixed_amount";
937
+ discountValue: string;
938
+ currency: string | null;
939
+ applicableProductIds: string[];
940
+ applicableDepartureIds: string[];
941
+ validFrom: string | null;
942
+ validTo: string | null;
943
+ minPassengers: number | null;
944
+ imageMobileUrl: string | null;
945
+ imageDesktopUrl: string | null;
946
+ stackable: boolean;
947
+ createdAt: string;
948
+ updatedAt: string;
949
+ }[];
950
+ }, readonly ["voyant", "storefront", "offers", "product-list", string, {
951
+ departureId?: string | undefined;
952
+ locale?: string | undefined;
953
+ }]>, "queryFn"> & {
954
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
955
+ data: {
956
+ id: string;
957
+ name: string;
958
+ slug: string | null;
959
+ description: string | null;
960
+ discountType: "percentage" | "fixed_amount";
961
+ discountValue: string;
962
+ currency: string | null;
963
+ applicableProductIds: string[];
964
+ applicableDepartureIds: string[];
965
+ validFrom: string | null;
966
+ validTo: string | null;
967
+ minPassengers: number | null;
968
+ imageMobileUrl: string | null;
969
+ imageDesktopUrl: string | null;
970
+ stackable: boolean;
971
+ createdAt: string;
972
+ updatedAt: string;
973
+ }[];
974
+ }, readonly ["voyant", "storefront", "offers", "product-list", string, {
975
+ departureId?: string | undefined;
976
+ locale?: string | undefined;
977
+ }], never> | undefined;
978
+ } & {
979
+ queryKey: readonly ["voyant", "storefront", "offers", "product-list", string, {
980
+ departureId?: string | undefined;
981
+ locale?: string | undefined;
982
+ }] & {
983
+ [dataTagSymbol]: {
984
+ data: {
985
+ id: string;
986
+ name: string;
987
+ slug: string | null;
988
+ description: string | null;
989
+ discountType: "percentage" | "fixed_amount";
990
+ discountValue: string;
991
+ currency: string | null;
992
+ applicableProductIds: string[];
993
+ applicableDepartureIds: string[];
994
+ validFrom: string | null;
995
+ validTo: string | null;
996
+ minPassengers: number | null;
997
+ imageMobileUrl: string | null;
998
+ imageDesktopUrl: string | null;
999
+ stackable: boolean;
1000
+ createdAt: string;
1001
+ updatedAt: string;
1002
+ }[];
1003
+ };
1004
+ [dataTagErrorSymbol]: Error;
1005
+ };
1006
+ };
1007
+ export declare function getStorefrontOfferQueryOptions(client: FetchWithValidationOptions, slug: string, locale?: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
1008
+ data: {
1009
+ id: string;
1010
+ name: string;
1011
+ slug: string | null;
1012
+ description: string | null;
1013
+ discountType: "percentage" | "fixed_amount";
1014
+ discountValue: string;
1015
+ currency: string | null;
1016
+ applicableProductIds: string[];
1017
+ applicableDepartureIds: string[];
1018
+ validFrom: string | null;
1019
+ validTo: string | null;
1020
+ minPassengers: number | null;
1021
+ imageMobileUrl: string | null;
1022
+ imageDesktopUrl: string | null;
1023
+ stackable: boolean;
1024
+ createdAt: string;
1025
+ updatedAt: string;
1026
+ };
1027
+ }, Error, {
1028
+ data: {
1029
+ id: string;
1030
+ name: string;
1031
+ slug: string | null;
1032
+ description: string | null;
1033
+ discountType: "percentage" | "fixed_amount";
1034
+ discountValue: string;
1035
+ currency: string | null;
1036
+ applicableProductIds: string[];
1037
+ applicableDepartureIds: string[];
1038
+ validFrom: string | null;
1039
+ validTo: string | null;
1040
+ minPassengers: number | null;
1041
+ imageMobileUrl: string | null;
1042
+ imageDesktopUrl: string | null;
1043
+ stackable: boolean;
1044
+ createdAt: string;
1045
+ updatedAt: string;
1046
+ };
1047
+ }, readonly ["voyant", "storefront", "offers", "detail", string, string | null]>, "queryFn"> & {
1048
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
1049
+ data: {
1050
+ id: string;
1051
+ name: string;
1052
+ slug: string | null;
1053
+ description: string | null;
1054
+ discountType: "percentage" | "fixed_amount";
1055
+ discountValue: string;
1056
+ currency: string | null;
1057
+ applicableProductIds: string[];
1058
+ applicableDepartureIds: string[];
1059
+ validFrom: string | null;
1060
+ validTo: string | null;
1061
+ minPassengers: number | null;
1062
+ imageMobileUrl: string | null;
1063
+ imageDesktopUrl: string | null;
1064
+ stackable: boolean;
1065
+ createdAt: string;
1066
+ updatedAt: string;
1067
+ };
1068
+ }, readonly ["voyant", "storefront", "offers", "detail", string, string | null], never> | undefined;
1069
+ } & {
1070
+ queryKey: readonly ["voyant", "storefront", "offers", "detail", string, string | null] & {
1071
+ [dataTagSymbol]: {
1072
+ data: {
1073
+ id: string;
1074
+ name: string;
1075
+ slug: string | null;
1076
+ description: string | null;
1077
+ discountType: "percentage" | "fixed_amount";
1078
+ discountValue: string;
1079
+ currency: string | null;
1080
+ applicableProductIds: string[];
1081
+ applicableDepartureIds: string[];
1082
+ validFrom: string | null;
1083
+ validTo: string | null;
1084
+ minPassengers: number | null;
1085
+ imageMobileUrl: string | null;
1086
+ imageDesktopUrl: string | null;
1087
+ stackable: boolean;
1088
+ createdAt: string;
1089
+ updatedAt: string;
1090
+ };
1091
+ };
1092
+ [dataTagErrorSymbol]: Error;
1093
+ };
1094
+ };
1095
+ export type { StorefrontDepartureFilters, StorefrontExtensionsFilters, StorefrontOfferFilters, } from "./query-keys.js";
1096
+ //# sourceMappingURL=query-options.d.ts.map