@behio/storefront-sdk 0.10.0 → 0.12.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.
package/dist/react.d.ts CHANGED
@@ -19,17 +19,64 @@ declare function detectStorage(): StorageAdapter;
19
19
  interface BehioProviderProps {
20
20
  apiKey: string;
21
21
  baseUrl?: string;
22
+ /**
23
+ * The domain this storefront is served on, sent as X-Shop-Domain. Only needed
24
+ * when one deployment serves several domains with a single "all domains" key
25
+ * and there is no Origin header (SSR). See BehioStorefrontConfig.shopDomain.
26
+ */
27
+ shopDomain?: string;
22
28
  locale?: string;
29
+ /**
30
+ * Initial currency. Used as the starting active currency when the shopper has
31
+ * not chosen one yet (no cookie). A chosen currency (cookie) takes precedence,
32
+ * so this behaves as the default rather than a hard override.
33
+ */
23
34
  currency?: string;
35
+ /**
36
+ * Fallback currency surfaced by useCurrency() / <CurrencySwitcher> as "the
37
+ * default" when nothing is selected. Defaults to the shop's defaultCurrency
38
+ * from shop info. Set this to force a different default per deployment.
39
+ */
40
+ defaultCurrency?: string;
41
+ /**
42
+ * Explicit list of selectable currencies. When omitted, the list comes from
43
+ * the shop's supportedCurrencies. Provide this to curate the switcher (e.g.
44
+ * only CZK + EUR even though the shop technically supports more).
45
+ */
46
+ currencies?: string[];
47
+ /** Fired whenever the active currency changes (analytics, URL sync, ...). */
48
+ onCurrencyChange?: (currency: string | undefined) => void;
49
+ /** Persist the chosen currency to a cookie so SSR + reloads keep it. Default: true. */
50
+ persistCurrency?: boolean;
51
+ /** Cookie name for the chosen currency. Default: "behio_currency". */
52
+ currencyCookieName?: string;
24
53
  storage?: "cookies" | "localStorage" | "memory" | StorageAdapter;
25
54
  queryClient?: QueryClient;
26
55
  children: React.ReactNode;
27
56
  }
28
- declare function BehioProvider({ apiKey, baseUrl, locale, currency, storage: storageOption, queryClient: externalQueryClient, children, }: BehioProviderProps): react_jsx_runtime.JSX.Element;
57
+ declare function BehioProvider({ apiKey, baseUrl, shopDomain, locale, currency, defaultCurrency, currencies, onCurrencyChange, persistCurrency, currencyCookieName, storage: storageOption, queryClient: externalQueryClient, children, }: BehioProviderProps): react_jsx_runtime.JSX.Element;
29
58
 
30
59
  interface BehioContextValue {
31
60
  client: BehioStorefront;
32
61
  storage: StorageAdapter;
62
+ /**
63
+ * The shopper's actively selected currency, or undefined when none has been
64
+ * chosen (the shop's default currency is used server-side). This is sent on
65
+ * every catalog request and persisted (cookie) so it survives navigation and
66
+ * reloads, all on the SAME shop/domain.
67
+ */
68
+ currency: string | undefined;
69
+ /**
70
+ * Switch the active currency. Updates the client, persists it, fires the
71
+ * optional onCurrencyChange callback, and refetches every price-bearing
72
+ * query so the UI reflects the new currency without a full reload. Pass
73
+ * undefined to clear back to the shop default.
74
+ */
75
+ setCurrency: (currency: string | undefined) => void;
76
+ /** Fallback currency configured on the provider (overrides shop default). */
77
+ configuredDefaultCurrency: string | undefined;
78
+ /** Explicit allowed-currency list configured on the provider, if any. */
79
+ configuredCurrencies: string[] | undefined;
33
80
  }
34
81
  declare function useBehio(): BehioContextValue;
35
82
 
@@ -89,22 +136,22 @@ interface UseProductOptions {
89
136
  initialData?: ProductDetail;
90
137
  enabled?: boolean;
91
138
  }
92
- declare function useProduct(slug: string, options?: UseProductOptions): _tanstack_react_query.UseQueryResult<ProductDetail, Error>;
139
+ declare function useProduct(slug: string, options?: UseProductOptions): _tanstack_react_query.UseQueryResult<NoInfer<ProductDetail>, Error>;
93
140
 
94
141
  interface UseCategoriesOptions {
95
142
  enabled?: boolean;
96
143
  }
97
- declare function useCategories(locale?: string, options?: UseCategoriesOptions): _tanstack_react_query.UseQueryResult<Category[], Error>;
144
+ declare function useCategories(locale?: string, options?: UseCategoriesOptions): _tanstack_react_query.UseQueryResult<NoInfer<Category[]>, Error>;
98
145
  interface UseCategoryOptions {
99
146
  locale?: string;
100
147
  enabled?: boolean;
101
148
  }
102
- declare function useCategory(slug: string, options?: UseCategoryOptions): _tanstack_react_query.UseQueryResult<CategoryDetail, Error>;
149
+ declare function useCategory(slug: string, options?: UseCategoryOptions): _tanstack_react_query.UseQueryResult<NoInfer<CategoryDetail>, Error>;
103
150
 
104
151
  interface UseLabelsOptions {
105
152
  enabled?: boolean;
106
153
  }
107
- declare function useLabels(locale?: string, options?: UseLabelsOptions): _tanstack_react_query.UseQueryResult<ProductLabel[], Error>;
154
+ declare function useLabels(locale?: string, options?: UseLabelsOptions): _tanstack_react_query.UseQueryResult<NoInfer<ProductLabel[]>, Error>;
108
155
 
109
156
  interface UseFeaturedOptions {
110
157
  locale?: string;
@@ -112,12 +159,12 @@ interface UseFeaturedOptions {
112
159
  initialData?: PaginatedResponse<ProductListItem>;
113
160
  enabled?: boolean;
114
161
  }
115
- declare function useFeatured(options?: UseFeaturedOptions): _tanstack_react_query.UseQueryResult<PaginatedResponse<ProductListItem>, Error>;
162
+ declare function useFeatured(options?: UseFeaturedOptions): _tanstack_react_query.UseQueryResult<NoInfer<PaginatedResponse<ProductListItem>>, Error>;
116
163
 
117
164
  interface UseFiltersOptions {
118
165
  enabled?: boolean;
119
166
  }
120
- declare function useFilters(options?: UseFiltersOptions): _tanstack_react_query.UseQueryResult<FilterField[], Error>;
167
+ declare function useFilters(options?: UseFiltersOptions): _tanstack_react_query.UseQueryResult<NoInfer<FilterField[]>, Error>;
121
168
 
122
169
  interface UseSearchOptions {
123
170
  page?: number;
@@ -125,13 +172,13 @@ interface UseSearchOptions {
125
172
  debounceMs?: number;
126
173
  enabled?: boolean;
127
174
  }
128
- declare function useSearch(query: string, options?: UseSearchOptions): _tanstack_react_query.UseQueryResult<PaginatedResponse<ProductListItem>, Error>;
175
+ declare function useSearch(query: string, options?: UseSearchOptions): _tanstack_react_query.UseQueryResult<NoInfer<PaginatedResponse<ProductListItem>>, Error>;
129
176
 
130
177
  interface UseCartOptions {
131
178
  enabled?: boolean;
132
179
  }
133
180
  declare function useCart(options?: UseCartOptions): {
134
- cart: Cart | null;
181
+ cart: NoInfer<Cart> | null;
135
182
  isLoading: boolean;
136
183
  error: Error | null;
137
184
  addItem: (productId: string, quantity?: number) => Promise<Cart & {
@@ -157,7 +204,7 @@ declare function useCartCount(options?: UseCartCountOptions): number;
157
204
 
158
205
  declare function useAuth(): {
159
206
  isLoggedIn: boolean;
160
- customer: CustomerProfile | null;
207
+ customer: NoInfer<CustomerProfile> | null;
161
208
  isLoading: boolean;
162
209
  login: (email: string, password: string) => Promise<undefined>;
163
210
  register: (input: RegisterInput) => Promise<undefined>;
@@ -175,7 +222,7 @@ interface UseCustomerOptions {
175
222
  enabled?: boolean;
176
223
  }
177
224
  declare function useCustomer(options?: UseCustomerOptions): {
178
- data: CustomerProfile | null;
225
+ data: NoInfer<CustomerProfile> | null;
179
226
  isLoading: boolean;
180
227
  error: Error | null;
181
228
  updateProfile: (profileData: Partial<Pick<CustomerProfile, "firstName" | "lastName" | "phone">>) => Promise<CustomerProfile>;
@@ -186,7 +233,7 @@ interface UseAddressesOptions {
186
233
  enabled?: boolean;
187
234
  }
188
235
  declare function useAddresses(options?: UseAddressesOptions): {
189
- addresses: CustomerAddress[];
236
+ addresses: NoInfer<CustomerAddress[]>;
190
237
  isLoading: boolean;
191
238
  error: Error | null;
192
239
  createAddress: (address: Omit<CustomerAddress, "id">) => Promise<CustomerAddress>;
@@ -285,7 +332,7 @@ interface UseOrderOptions {
285
332
  enabled?: boolean;
286
333
  }
287
334
  declare function useOrder(orderNumber: string, options?: UseOrderOptions): {
288
- data: OrderDetail | null;
335
+ data: NoInfer<OrderDetail> | null;
289
336
  isLoading: boolean;
290
337
  error: Error | null;
291
338
  cancel: () => Promise<OrderDetail>;
@@ -332,16 +379,16 @@ declare function useCheckout(): {
332
379
  interface UsePagesOptions {
333
380
  enabled?: boolean;
334
381
  }
335
- declare function usePages(locale?: string, options?: UsePagesOptions): _tanstack_react_query.UseQueryResult<Page[], Error>;
382
+ declare function usePages(locale?: string, options?: UsePagesOptions): _tanstack_react_query.UseQueryResult<NoInfer<Page[]>, Error>;
336
383
  interface UsePageOptions {
337
384
  enabled?: boolean;
338
385
  }
339
- declare function usePage(slug: string, locale?: string, options?: UsePageOptions): _tanstack_react_query.UseQueryResult<PageDetail, Error>;
386
+ declare function usePage(slug: string, locale?: string, options?: UsePageOptions): _tanstack_react_query.UseQueryResult<NoInfer<PageDetail>, Error>;
340
387
 
341
388
  interface UseShopInfoOptions {
342
389
  enabled?: boolean;
343
390
  }
344
- declare function useShopInfo(options?: UseShopInfoOptions): _tanstack_react_query.UseQueryResult<ShopInfo, Error>;
391
+ declare function useShopInfo(options?: UseShopInfoOptions): _tanstack_react_query.UseQueryResult<NoInfer<ShopInfo>, Error>;
345
392
 
346
393
  interface UseShopSeoOptions {
347
394
  /** Override locale (ISO-639-1). Defaults to the shop's default locale. */
@@ -355,7 +402,83 @@ interface UseShopSeoOptions {
355
402
  * React Query hook for per-locale shop SEO metadata. Safe to render on the
356
403
  * server via `initialData` from `unwrap(client.getShopSeo(locale))`.
357
404
  */
358
- declare function useShopSeo(options?: UseShopSeoOptions): _tanstack_react_query.UseQueryResult<ShopSeo, Error>;
405
+ declare function useShopSeo(options?: UseShopSeoOptions): _tanstack_react_query.UseQueryResult<NoInfer<ShopSeo>, Error>;
406
+
407
+ interface UseCurrencyResult {
408
+ /** The actively selected currency, or undefined when none is chosen yet. */
409
+ currency: string | undefined;
410
+ /**
411
+ * The currency actually applied to prices: the selection if any, otherwise
412
+ * the configured/shop default. Useful for highlighting the active option.
413
+ */
414
+ effectiveCurrency: string | undefined;
415
+ /** Switch the active currency (persists + refetches prices). undefined = default. */
416
+ setCurrency: (currency: string | undefined) => void;
417
+ /** Currencies available to choose from (for building a switcher). */
418
+ currencies: string[];
419
+ /** The default currency (provider override, else the shop's defaultCurrency). */
420
+ defaultCurrency: string | undefined;
421
+ /** True while the shop info (and thus the currency list) is still loading. */
422
+ isLoading: boolean;
423
+ }
424
+ /**
425
+ * Read and control the active storefront currency. The shopper stays on the
426
+ * SAME shop/domain; only the currency prices are resolved in changes.
427
+ *
428
+ * const { currency, setCurrency, currencies, defaultCurrency } = useCurrency();
429
+ *
430
+ * The available `currencies` come from the provider's `currencies` prop when
431
+ * set, otherwise from the shop's supportedCurrencies (+ its default).
432
+ */
433
+ declare function useCurrency(): UseCurrencyResult;
434
+
435
+ interface CurrencySwitcherRenderProps {
436
+ /** Currencies to offer. */
437
+ currencies: string[];
438
+ /** Currently applied currency (selection or default). */
439
+ value: string | undefined;
440
+ /** Switch to a currency. */
441
+ setCurrency: (currency: string) => void;
442
+ /** Human label for a currency code (honours the `labels` prop). */
443
+ label: (code: string) => string;
444
+ }
445
+ interface CurrencySwitcherProps {
446
+ /** className passed to the default <select>. */
447
+ className?: string;
448
+ /**
449
+ * Override display labels per currency code, e.g. {CZK: "Kč", EUR: "€"}.
450
+ * Codes without a label fall back to the code itself.
451
+ */
452
+ labels?: Record<string, string>;
453
+ /** Render the switcher even when only one currency is available. Default: false. */
454
+ showWhenSingle?: boolean;
455
+ /** aria-label for the default <select>. Default: "Currency". */
456
+ ariaLabel?: string;
457
+ /**
458
+ * Full custom render. Receives the currencies, current value, a setter and a
459
+ * label fn. When provided, the default <select> is not rendered, so you can
460
+ * build any UI (dropdown, pills, flags, ...) while the SDK owns the state.
461
+ */
462
+ children?: (props: CurrencySwitcherRenderProps) => React.ReactNode;
463
+ }
464
+ /**
465
+ * A drop-in currency switcher wired to the SDK's active currency. The shopper
466
+ * stays on the same shop; only prices re-resolve. Renders nothing until more
467
+ * than one currency is available (unless showWhenSingle).
468
+ *
469
+ * <CurrencySwitcher labels={{CZK: "Kč", EUR: "€"}} />
470
+ *
471
+ * or fully custom:
472
+ *
473
+ * <CurrencySwitcher>
474
+ * {({ currencies, value, setCurrency }) =>
475
+ * currencies.map((c) => (
476
+ * <button key={c} aria-pressed={c === value} onClick={() => setCurrency(c)}>{c}</button>
477
+ * ))
478
+ * }
479
+ * </CurrencySwitcher>
480
+ */
481
+ declare function CurrencySwitcher({ className, labels, showWhenSingle, ariaLabel, children, }: CurrencySwitcherProps): react_jsx_runtime.JSX.Element | null;
359
482
 
360
483
  /** List all active bundles. */
361
484
  declare function useBundles(options?: {
@@ -363,14 +486,14 @@ declare function useBundles(options?: {
363
486
  initialData?: {
364
487
  items: Bundle[];
365
488
  };
366
- }): _tanstack_react_query.UseQueryResult<{
489
+ }): _tanstack_react_query.UseQueryResult<NoInfer<{
367
490
  items: Bundle[];
368
- }, Error>;
491
+ }>, Error>;
369
492
  /** Get a single bundle by slug. */
370
493
  declare function useBundle(slug: string | undefined, options?: {
371
494
  enabled?: boolean;
372
495
  initialData?: Bundle;
373
- }): _tanstack_react_query.UseQueryResult<Bundle, Error>;
496
+ }): _tanstack_react_query.UseQueryResult<NoInfer<Bundle>, Error>;
374
497
 
375
498
  type CrossSellResponse = {
376
499
  related: CrossSellItem[];
@@ -385,7 +508,7 @@ type CrossSellResponse = {
385
508
  declare function useCrossSell(productSlug: string | undefined, options?: {
386
509
  enabled?: boolean;
387
510
  initialData?: CrossSellResponse;
388
- }): _tanstack_react_query.UseQueryResult<CrossSellResponse, Error>;
511
+ }): _tanstack_react_query.UseQueryResult<NoInfer<CrossSellResponse>, Error>;
389
512
 
390
513
  /**
391
514
  * Fetch currently active promotions applicable to a specific product.
@@ -395,9 +518,9 @@ declare function useCrossSell(productSlug: string | undefined, options?: {
395
518
  declare function useProductPromotions(productSlug: string | undefined, options?: {
396
519
  enabled?: boolean;
397
520
  refetchIntervalMs?: number;
398
- }): _tanstack_react_query.UseQueryResult<{
521
+ }): _tanstack_react_query.UseQueryResult<NoInfer<{
399
522
  items: ActivePromotion[];
400
- }, Error>;
523
+ }>, Error>;
401
524
 
402
525
  /**
403
526
  * Check a gift card code — validates the code against the eshop and
@@ -410,7 +533,7 @@ declare function useProductPromotions(productSlug: string | undefined, options?:
410
533
  */
411
534
  declare function useGiftCardBalance(code: string | undefined, options?: {
412
535
  enabled?: boolean;
413
- }): _tanstack_react_query.UseQueryResult<GiftCardBalance, Error>;
536
+ }): _tanstack_react_query.UseQueryResult<NoInfer<GiftCardBalance>, Error>;
414
537
 
415
538
  declare function useWishlist(options?: {
416
539
  enabled?: boolean;
@@ -423,9 +546,9 @@ declare function useWishlist(options?: {
423
546
  }, Error, string, unknown>;
424
547
  isAdding: boolean;
425
548
  isRemoving: boolean;
426
- data: {
549
+ data: NoInfer<{
427
550
  items: WishlistItem[];
428
- };
551
+ }>;
429
552
  error: Error;
430
553
  isError: true;
431
554
  isPending: false;
@@ -448,13 +571,13 @@ declare function useWishlist(options?: {
448
571
  isRefetching: boolean;
449
572
  isStale: boolean;
450
573
  isEnabled: boolean;
451
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
574
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
452
575
  items: WishlistItem[];
453
- }, Error>>;
576
+ }>, Error>>;
454
577
  fetchStatus: _tanstack_query_core.FetchStatus;
455
- promise: Promise<{
578
+ promise: Promise<NoInfer<{
456
579
  items: WishlistItem[];
457
- }>;
580
+ }>>;
458
581
  } | {
459
582
  add: _tanstack_react_query.UseMutateAsyncFunction<{
460
583
  success: boolean;
@@ -464,9 +587,9 @@ declare function useWishlist(options?: {
464
587
  }, Error, string, unknown>;
465
588
  isAdding: boolean;
466
589
  isRemoving: boolean;
467
- data: {
590
+ data: NoInfer<{
468
591
  items: WishlistItem[];
469
- };
592
+ }>;
470
593
  error: null;
471
594
  isError: false;
472
595
  isPending: false;
@@ -489,13 +612,13 @@ declare function useWishlist(options?: {
489
612
  isRefetching: boolean;
490
613
  isStale: boolean;
491
614
  isEnabled: boolean;
492
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
615
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
493
616
  items: WishlistItem[];
494
- }, Error>>;
617
+ }>, Error>>;
495
618
  fetchStatus: _tanstack_query_core.FetchStatus;
496
- promise: Promise<{
619
+ promise: Promise<NoInfer<{
497
620
  items: WishlistItem[];
498
- }>;
621
+ }>>;
499
622
  } | {
500
623
  add: _tanstack_react_query.UseMutateAsyncFunction<{
501
624
  success: boolean;
@@ -528,13 +651,13 @@ declare function useWishlist(options?: {
528
651
  isRefetching: boolean;
529
652
  isStale: boolean;
530
653
  isEnabled: boolean;
531
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
654
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
532
655
  items: WishlistItem[];
533
- }, Error>>;
656
+ }>, Error>>;
534
657
  fetchStatus: _tanstack_query_core.FetchStatus;
535
- promise: Promise<{
658
+ promise: Promise<NoInfer<{
536
659
  items: WishlistItem[];
537
- }>;
660
+ }>>;
538
661
  } | {
539
662
  add: _tanstack_react_query.UseMutateAsyncFunction<{
540
663
  success: boolean;
@@ -567,13 +690,13 @@ declare function useWishlist(options?: {
567
690
  isRefetching: boolean;
568
691
  isStale: boolean;
569
692
  isEnabled: boolean;
570
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
693
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
571
694
  items: WishlistItem[];
572
- }, Error>>;
695
+ }>, Error>>;
573
696
  fetchStatus: _tanstack_query_core.FetchStatus;
574
- promise: Promise<{
697
+ promise: Promise<NoInfer<{
575
698
  items: WishlistItem[];
576
- }>;
699
+ }>>;
577
700
  } | {
578
701
  add: _tanstack_react_query.UseMutateAsyncFunction<{
579
702
  success: boolean;
@@ -606,13 +729,13 @@ declare function useWishlist(options?: {
606
729
  isRefetching: boolean;
607
730
  isStale: boolean;
608
731
  isEnabled: boolean;
609
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
732
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
610
733
  items: WishlistItem[];
611
- }, Error>>;
734
+ }>, Error>>;
612
735
  fetchStatus: _tanstack_query_core.FetchStatus;
613
- promise: Promise<{
736
+ promise: Promise<NoInfer<{
614
737
  items: WishlistItem[];
615
- }>;
738
+ }>>;
616
739
  } | {
617
740
  add: _tanstack_react_query.UseMutateAsyncFunction<{
618
741
  success: boolean;
@@ -622,9 +745,9 @@ declare function useWishlist(options?: {
622
745
  }, Error, string, unknown>;
623
746
  isAdding: boolean;
624
747
  isRemoving: boolean;
625
- data: {
748
+ data: NoInfer<{
626
749
  items: WishlistItem[];
627
- };
750
+ }>;
628
751
  isError: false;
629
752
  error: null;
630
753
  isPending: false;
@@ -647,23 +770,23 @@ declare function useWishlist(options?: {
647
770
  isRefetching: boolean;
648
771
  isStale: boolean;
649
772
  isEnabled: boolean;
650
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<{
773
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<{
651
774
  items: WishlistItem[];
652
- }, Error>>;
775
+ }>, Error>>;
653
776
  fetchStatus: _tanstack_query_core.FetchStatus;
654
- promise: Promise<{
777
+ promise: Promise<NoInfer<{
655
778
  items: WishlistItem[];
656
- }>;
779
+ }>>;
657
780
  };
658
- declare function useIsInWishlist(productId: string | undefined): _tanstack_react_query.UseQueryResult<{
781
+ declare function useIsInWishlist(productId: string | undefined): _tanstack_react_query.UseQueryResult<NoInfer<{
659
782
  inWishlist: boolean;
660
- }, Error>;
783
+ }>, Error>;
661
784
 
662
785
  declare function useProductReviews(productId: string | undefined, options?: {
663
786
  page?: number;
664
787
  limit?: number;
665
788
  enabled?: boolean;
666
- }): _tanstack_react_query.UseQueryResult<ProductReviewsResponse, Error>;
789
+ }): _tanstack_react_query.UseQueryResult<NoInfer<ProductReviewsResponse>, Error>;
667
790
  declare function useSubmitReview(): _tanstack_react_query.UseMutationResult<{
668
791
  id: string;
669
792
  }, Error, SubmitReviewInput, unknown>;
@@ -674,14 +797,14 @@ declare function useLookupReturnableOrder(): _tanstack_react_query.UseMutationRe
674
797
  email: string;
675
798
  }, unknown>;
676
799
  declare function useSubmitReturn(): _tanstack_react_query.UseMutationResult<ReturnRequest, Error, SubmitReturnInput, unknown>;
677
- declare function useReturnStatus(returnId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<ReturnStatus, Error>;
800
+ declare function useReturnStatus(returnId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<NoInfer<ReturnStatus>, Error>;
678
801
 
679
802
  declare function useCookieConsent(visitorId: string | undefined): {
680
803
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
681
804
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
682
805
  success: boolean;
683
806
  }, Error, void, unknown>;
684
- data: CookieConsent | null;
807
+ data: NoInfer<CookieConsent | null>;
685
808
  error: Error;
686
809
  isError: true;
687
810
  isPending: false;
@@ -704,15 +827,15 @@ declare function useCookieConsent(visitorId: string | undefined): {
704
827
  isRefetching: boolean;
705
828
  isStale: boolean;
706
829
  isEnabled: boolean;
707
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
830
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
708
831
  fetchStatus: _tanstack_query_core.FetchStatus;
709
- promise: Promise<CookieConsent | null>;
832
+ promise: Promise<NoInfer<CookieConsent | null>>;
710
833
  } | {
711
834
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
712
835
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
713
836
  success: boolean;
714
837
  }, Error, void, unknown>;
715
- data: CookieConsent | null;
838
+ data: NoInfer<CookieConsent | null>;
716
839
  error: null;
717
840
  isError: false;
718
841
  isPending: false;
@@ -735,9 +858,9 @@ declare function useCookieConsent(visitorId: string | undefined): {
735
858
  isRefetching: boolean;
736
859
  isStale: boolean;
737
860
  isEnabled: boolean;
738
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
861
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
739
862
  fetchStatus: _tanstack_query_core.FetchStatus;
740
- promise: Promise<CookieConsent | null>;
863
+ promise: Promise<NoInfer<CookieConsent | null>>;
741
864
  } | {
742
865
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
743
866
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
@@ -766,9 +889,9 @@ declare function useCookieConsent(visitorId: string | undefined): {
766
889
  isRefetching: boolean;
767
890
  isStale: boolean;
768
891
  isEnabled: boolean;
769
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
892
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
770
893
  fetchStatus: _tanstack_query_core.FetchStatus;
771
- promise: Promise<CookieConsent | null>;
894
+ promise: Promise<NoInfer<CookieConsent | null>>;
772
895
  } | {
773
896
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
774
897
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
@@ -797,9 +920,9 @@ declare function useCookieConsent(visitorId: string | undefined): {
797
920
  isRefetching: boolean;
798
921
  isStale: boolean;
799
922
  isEnabled: boolean;
800
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
923
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
801
924
  fetchStatus: _tanstack_query_core.FetchStatus;
802
- promise: Promise<CookieConsent | null>;
925
+ promise: Promise<NoInfer<CookieConsent | null>>;
803
926
  } | {
804
927
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
805
928
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
@@ -828,15 +951,15 @@ declare function useCookieConsent(visitorId: string | undefined): {
828
951
  isRefetching: boolean;
829
952
  isStale: boolean;
830
953
  isEnabled: boolean;
831
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
954
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
832
955
  fetchStatus: _tanstack_query_core.FetchStatus;
833
- promise: Promise<CookieConsent | null>;
956
+ promise: Promise<NoInfer<CookieConsent | null>>;
834
957
  } | {
835
958
  record: _tanstack_react_query.UseMutateAsyncFunction<CookieConsent, Error, CookieConsentInput, unknown>;
836
959
  revoke: _tanstack_react_query.UseMutateAsyncFunction<{
837
960
  success: boolean;
838
961
  }, Error, void, unknown>;
839
- data: CookieConsent | null;
962
+ data: NoInfer<CookieConsent | null>;
840
963
  isError: false;
841
964
  error: null;
842
965
  isPending: false;
@@ -859,13 +982,13 @@ declare function useCookieConsent(visitorId: string | undefined): {
859
982
  isRefetching: boolean;
860
983
  isStale: boolean;
861
984
  isEnabled: boolean;
862
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<CookieConsent | null, Error>>;
985
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<NoInfer<CookieConsent | null>, Error>>;
863
986
  fetchStatus: _tanstack_query_core.FetchStatus;
864
- promise: Promise<CookieConsent | null>;
987
+ promise: Promise<NoInfer<CookieConsent | null>>;
865
988
  };
866
989
 
867
990
  declare function useSubmitQuote(): _tanstack_react_query.UseMutationResult<QuoteRequest, Error, SubmitQuoteInput, unknown>;
868
- declare function useQuoteStatus(quoteId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<QuoteRequest, Error>;
991
+ declare function useQuoteStatus(quoteId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<NoInfer<QuoteRequest>, Error>;
869
992
 
870
993
  /** Subscribe an email to a back-in-stock notification for a product. */
871
994
  declare function useNotifyWhenAvailable(): _tanstack_react_query.UseMutationResult<BackInStockSubscription, Error, {
@@ -891,4 +1014,4 @@ declare function useBehioClient(): BehioStorefront;
891
1014
  */
892
1015
  declare function formatPrice(amount: number, currency: string, locale?: string): string;
893
1016
 
894
- export { ActivePromotion, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, formatPrice, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };
1017
+ export { ActivePromotion, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, formatPrice, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCurrency, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };