@behio/storefront-sdk 2.22.0 → 2.25.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
@@ -318,6 +318,20 @@ interface ShopInfo {
318
318
  * may still be served.
319
319
  */
320
320
  seo?: ShopSeoIdentity;
321
+ /**
322
+ * Online withdrawal function (Art. 11a Directive 2011/83/EU, mandatory in
323
+ * the EU from 19 Jun 2026). When `enabled`, render a clearly labelled link
324
+ * ("Withdraw from contract here") in the footer and in the customer account,
325
+ * leading to the withdrawal form (`returns.withdraw`). Optional because
326
+ * cached ShopInfo payloads predating the field may still be served (2.25.0).
327
+ */
328
+ withdrawal?: WithdrawalSettings;
329
+ }
330
+ /** Merchant setting of the online withdrawal function (2.25.0). */
331
+ interface WithdrawalSettings {
332
+ enabled: boolean;
333
+ /** Withdrawal period in days from receipt of the goods (14 by law). */
334
+ periodDays: number;
321
335
  }
322
336
  interface ShopAppearance {
323
337
  primaryColor: string | null;
@@ -1464,6 +1478,12 @@ interface TaxBreakdownLine {
1464
1478
  grossAmount: number;
1465
1479
  }
1466
1480
  interface CartDiscount {
1481
+ /** Additional delivery benefit. Absent/null means none on older APIs.
1482
+ * FREE_SHIPPING in `type` still denotes a legacy delivery-only code. */
1483
+ shippingDiscountType?: "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_SHIPPING" | null;
1484
+ /** Percentage or fixed amount, capped at delivery cost by checkout.
1485
+ * Do not subtract locally: use checkout preview's authoritative totals. */
1486
+ shippingDiscountValue?: number;
1467
1487
  code: string;
1468
1488
  type: string;
1469
1489
  value: number;
@@ -1901,6 +1921,9 @@ interface OrderDetail extends OrderListItem {
1901
1921
  * the order returned by `checkout.createOrder()`. Null/absent for
1902
1922
  * offline methods (bank transfer, COD) and zero-total orders.
1903
1923
  */
1924
+ /** Existing unexpired Stripe Checkout session for this authorized unpaid order.
1925
+ * Null after payment, cancellation, expiry, or when no eligible attempt exists.
1926
+ * Reopen it directly; never submit checkout again to retry this order. */
1904
1927
  paymentRedirectUrl?: string | null;
1905
1928
  }
1906
1929
  /** Generic response to `orders.requestAccessCode` — never reveals existence. */
@@ -3138,9 +3161,70 @@ interface ReturnableOrder {
3138
3161
  orderId: string;
3139
3162
  orderNumber: string;
3140
3163
  status: string;
3164
+ /** Name from the order billing address, to prefill the withdrawal form (2.25.0). */
3165
+ customerName: string | null;
3141
3166
  items: ReturnableOrderItem[];
3167
+ /** Withdrawal window of this order (2.25.0). */
3168
+ withdrawal: WithdrawalWindow;
3142
3169
  createdAt: number;
3143
3170
  }
3171
+ /**
3172
+ * What the withdrawal form should say about the period. The form stays
3173
+ * usable outside the window: the consumer may always submit, the merchant
3174
+ * decides. (2.25.0)
3175
+ */
3176
+ interface WithdrawalWindow {
3177
+ /** The e-shop offers the online withdrawal function. */
3178
+ enabled: boolean;
3179
+ periodDays: number;
3180
+ /** Last moment of the period (ms). Null while it has not started or delivery is not recorded. */
3181
+ deadlineAt: number | null;
3182
+ /** False only when the period demonstrably ended. */
3183
+ withinPeriod: boolean;
3184
+ /** AFTER_DEADLINE | BEFORE_DISPATCH | DELIVERY_UNKNOWN | DIGITAL_CONTENT_CONSENT */
3185
+ flags: WithdrawalFlag[];
3186
+ }
3187
+ type WithdrawalFlag = "AFTER_DEADLINE" | "BEFORE_DISPATCH" | "DELIVERY_UNKNOWN" | "DIGITAL_CONTENT_CONSENT";
3188
+ /**
3189
+ * Input of `returns.withdraw()`: the withdrawal statement of Art. 11a(2):
3190
+ * the consumer's name, the contract (order number) and the e-mail the
3191
+ * acknowledgement goes to. Send it only after the consumer pressed the
3192
+ * confirmation button ("Confirm withdrawal"), hence `confirmed: true`. (2.25.0)
3193
+ */
3194
+ interface SubmitWithdrawalInput {
3195
+ orderNumber: string;
3196
+ /** Order e-mail: the ownership gate and where the acknowledgement is sent. */
3197
+ email: string;
3198
+ name: string;
3199
+ /** Omit to withdraw from every still returnable item of the order. */
3200
+ items?: {
3201
+ orderItemId: string;
3202
+ quantity: number;
3203
+ }[];
3204
+ note?: string;
3205
+ confirmed: true;
3206
+ }
3207
+ /**
3208
+ * Returned by `returns.withdraw()`. Show it as the acknowledgement: the same
3209
+ * content with date and time also goes out by e-mail. `confirmationSent`
3210
+ * says whether that e-mail really went out. (2.25.0)
3211
+ */
3212
+ interface WithdrawalAcknowledgement {
3213
+ id: string;
3214
+ orderNumber: string;
3215
+ customerName: string;
3216
+ email: string;
3217
+ /** Date and time of submission (ms). */
3218
+ submittedAt: number;
3219
+ items: {
3220
+ productName: string;
3221
+ quantity: number;
3222
+ }[];
3223
+ note: string | null;
3224
+ deadlineAt: number | null;
3225
+ withinPeriod: boolean;
3226
+ confirmationSent: boolean;
3227
+ }
3144
3228
  interface ReturnRequestItem {
3145
3229
  id: string;
3146
3230
  orderItemId: string;
@@ -3171,6 +3255,8 @@ interface ReturnStatusItem {
3171
3255
  interface ReturnStatus {
3172
3256
  id: string;
3173
3257
  orderNumber: string;
3258
+ /** WITHDRAWAL = withdrawal from the contract, RETURN = return or complaint (2.25.0). */
3259
+ type: "RETURN" | "WITHDRAWAL";
3174
3260
  /** REQUESTED | APPROVED | SHIPPED_BACK | RECEIVED | REFUNDED | REJECTED | CLOSED */
3175
3261
  status: string;
3176
3262
  reason: string;
@@ -3330,6 +3416,145 @@ interface GamificationRefreshResult {
3330
3416
  awarded: number;
3331
3417
  completed: number;
3332
3418
  }
3419
+ type BookingLocale = "cs" | "sk" | "en";
3420
+ type BookingStatus = "PENDING" | "CONFIRMED" | "CANCELLED" | "NO_SHOW" | "COMPLETED";
3421
+ interface BookingService {
3422
+ id: string;
3423
+ categoryId: string | null;
3424
+ name: string;
3425
+ description: string | null;
3426
+ durationMinutes: number;
3427
+ /** Null = price on site (show it as such, never as 0). */
3428
+ price: number | null;
3429
+ /** ISO 4217 code (CZK, EUR, ...). */
3430
+ currency: string;
3431
+ }
3432
+ interface BookingCategory {
3433
+ id: string;
3434
+ name: string;
3435
+ }
3436
+ interface BookingStaff {
3437
+ id: string;
3438
+ name: string;
3439
+ title: string | null;
3440
+ bio: string | null;
3441
+ /** `#rrggbb` or null. */
3442
+ color: string | null;
3443
+ /** Services this person does. */
3444
+ serviceIds: string[];
3445
+ }
3446
+ interface BookingLocation {
3447
+ id: string;
3448
+ name: string;
3449
+ address: string | null;
3450
+ timezone: string;
3451
+ }
3452
+ /** Public booking setup of the site owner (`GET /bookings/config`). */
3453
+ interface BookingConfig {
3454
+ businessName: string;
3455
+ intro: string | null;
3456
+ /** `#rrggbb` brand colour of the widget, or null. */
3457
+ accentColor: string | null;
3458
+ defaultLocale: BookingLocale;
3459
+ /** Offer a staff choice step (otherwise send `staffId: null`). */
3460
+ allowStaffChoice: boolean;
3461
+ /** New bookings start as PENDING and the business confirms them. */
3462
+ requireApproval: boolean;
3463
+ /** How many days ahead a customer may book. */
3464
+ maxAdvanceDays: number;
3465
+ /** Customer may change or cancel until this many hours before the start. */
3466
+ customerCancelHours: number;
3467
+ contactPhone: string | null;
3468
+ contactEmail: string | null;
3469
+ /**
3470
+ * Online booking is paused (plan limit). Do not offer the flow, show the
3471
+ * contact instead: `create` would answer `be.bookings.onlineLimitReached`.
3472
+ */
3473
+ onlinePaused: boolean;
3474
+ /** IANA time zone of the branch; show every day and time in it. */
3475
+ timezone: string;
3476
+ locations: BookingLocation[];
3477
+ categories: BookingCategory[];
3478
+ services: BookingService[];
3479
+ staff: BookingStaff[];
3480
+ }
3481
+ interface BookingSlot {
3482
+ startMs: number;
3483
+ endMs: number;
3484
+ }
3485
+ interface BookingSlots {
3486
+ timezone: string;
3487
+ /** Total length of the selected services. */
3488
+ durationMinutes: number;
3489
+ slots: BookingSlot[];
3490
+ }
3491
+ interface BookingSlotsQuery {
3492
+ /** Selected services in the order they follow each other (1 to 10). */
3493
+ serviceIds: string[];
3494
+ /** Only this person; omit for anyone free. */
3495
+ staffId?: string | null;
3496
+ /** First day `YYYY-MM-DD` (branch time zone). */
3497
+ from: string;
3498
+ /** Last day `YYYY-MM-DD`, at most 31 days after `from`. */
3499
+ to: string;
3500
+ }
3501
+ interface BookingManageSlotsQuery {
3502
+ from: string;
3503
+ to: string;
3504
+ }
3505
+ interface BookingCreateInput {
3506
+ serviceIds: string[];
3507
+ /** Null or omitted = anyone free. */
3508
+ staffId?: string | null;
3509
+ /** `startMs` of a slot from `getSlots`. */
3510
+ startMs: number;
3511
+ name: string;
3512
+ email: string;
3513
+ phone?: string | null;
3514
+ note?: string | null;
3515
+ /** Language of the confirmation email. */
3516
+ locale?: BookingLocale;
3517
+ /** Honeypot: render a hidden input and send its value; people leave it empty. */
3518
+ website?: string;
3519
+ /** Analytics visitor (consent-gated), only for the CRM. */
3520
+ visitorId?: string | null;
3521
+ }
3522
+ /** One booking as the customer sees it. */
3523
+ interface Booking {
3524
+ id: string;
3525
+ /** Short code shown to the customer and in emails. */
3526
+ code: string;
3527
+ status: BookingStatus;
3528
+ startMs: number;
3529
+ endMs: number;
3530
+ timezone: string;
3531
+ businessName: string;
3532
+ staffName: string;
3533
+ locationName: string;
3534
+ locationAddress: string | null;
3535
+ services: string[];
3536
+ serviceIds: string[];
3537
+ /** Person chosen by the customer; null = anyone. */
3538
+ staffId: string | null;
3539
+ totalPrice: number | null;
3540
+ currency: string;
3541
+ customerName: string;
3542
+ /** The customer may still change or cancel (deadline from the settings). */
3543
+ canChange: boolean;
3544
+ /** Until when (ms) the customer may change or cancel. */
3545
+ changeDeadline: number | null;
3546
+ /** Phone of the business to show once `canChange` is false. */
3547
+ contactPhone: string | null;
3548
+ locale: string;
3549
+ }
3550
+ interface BookingCreated {
3551
+ booking: Booking;
3552
+ /**
3553
+ * Token for the change and cancel link (the same one the confirmation email
3554
+ * carries). Treat it like a password: never put it in analytics or logs.
3555
+ */
3556
+ manageToken: string;
3557
+ }
3333
3558
 
3334
3559
  declare class BehioStorefront {
3335
3560
  private baseUrl;
@@ -3384,6 +3609,7 @@ declare class BehioStorefront {
3384
3609
  readonly forms: FormsModule;
3385
3610
  readonly collections: CollectionsModule;
3386
3611
  readonly faq: FaqModule;
3612
+ readonly bookings: BookingsModule;
3387
3613
  readonly wishlist: WishlistModule;
3388
3614
  readonly reviews: ReviewsModule;
3389
3615
  readonly returns: ReturnsModule;
@@ -4137,6 +4363,49 @@ declare class FaqModule {
4137
4363
  */
4138
4364
  get(group: string, query?: StorefrontFaqQuery): Promise<SdkResult<StorefrontFaqGroup>>;
4139
4365
  }
4366
+ /**
4367
+ * Online booking of the site owner's services (hair salon, clinic, lessons):
4368
+ * the public setup, free times, a new booking, and the change and cancel flow
4369
+ * behind the token from the confirmation email. Works with website keys that
4370
+ * have no e-shop attached; the Bookings module must be on in the admin
4371
+ * (otherwise 404 `be.bookings.widgetNotFound`).
4372
+ *
4373
+ * Days are `YYYY-MM-DD` in the branch time zone (`config.timezone`), not the
4374
+ * visitor's; format times with `timeZone: config.timezone`.
4375
+ *
4376
+ * Errors worth handling: 409 `be.bookings.slotTaken` (someone was faster:
4377
+ * reload the slots and let the customer pick again), 403
4378
+ * `be.bookings.onlineLimitReached` (online booking paused, show the contact),
4379
+ * 403 `be.bookings.changeTooLate` (too late to change, show
4380
+ * `booking.contactPhone`), 404 `be.bookings.manageNotFound` (old or wrong
4381
+ * token), 429 (rate limit: 10 new bookings and 20 changes per minute).
4382
+ */
4383
+ declare class BookingsModule {
4384
+ private client;
4385
+ constructor(client: BehioStorefront);
4386
+ /** Services, categories, staff, branches and rules of the booking flow. */
4387
+ getConfig(): Promise<SdkResult<BookingConfig>>;
4388
+ /** Free start times for the selected services (at most 31 days per call). */
4389
+ getSlots(query: BookingSlotsQuery): Promise<SdkResult<BookingSlots>>;
4390
+ /**
4391
+ * Create a booking. Counts toward the monthly online limit of the plan.
4392
+ * Keep `manageToken` only to link the customer to the change and cancel
4393
+ * page; the same link arrives in the confirmation email.
4394
+ */
4395
+ create(input: BookingCreateInput): Promise<SdkResult<BookingCreated>>;
4396
+ /** The booking behind the token from the confirmation email. */
4397
+ getByToken(token: string): Promise<SdkResult<Booking>>;
4398
+ /** Free times to move the booking to (same services and person rules). */
4399
+ getManageSlots(token: string, query: BookingManageSlotsQuery): Promise<SdkResult<BookingSlots>>;
4400
+ /** Cancel the booking (optional reason for the business). */
4401
+ cancel(token: string, input?: {
4402
+ reason?: string | null;
4403
+ }): Promise<SdkResult<Booking>>;
4404
+ /** Move the booking to `startMs` of a slot from `getManageSlots`. */
4405
+ reschedule(token: string, input: {
4406
+ startMs: number;
4407
+ }): Promise<SdkResult<Booking>>;
4408
+ }
4140
4409
  /**
4141
4410
  * Merchant-defined forms (contact, demand, registration to an event...).
4142
4411
  * The definition is public and cacheable; a submit is validated server-side
@@ -4221,6 +4490,15 @@ declare class ReturnsModule {
4221
4490
  * quantities. POST so the email never appears in a URL.
4222
4491
  */
4223
4492
  lookupOrder(orderNumber: string, email: string): Promise<SdkResult<ReturnableOrder>>;
4493
+ /**
4494
+ * EU withdrawal function (Art. 11a Directive 2011/83/EU, 2.25.0). Two steps
4495
+ * in the template: the form (name, order number, e-mail), then a summary
4496
+ * with the "Confirm withdrawal" button that calls this. The result is the
4497
+ * acknowledgement to show; the same content with date and time goes out by
4498
+ * e-mail. Guests welcome, the order e-mail is the gate.
4499
+ */
4500
+ withdraw(input: SubmitWithdrawalInput): Promise<SdkResult<WithdrawalAcknowledgement>>;
4501
+ /** Return or complaint. Reason CHANGED_MIND is recorded as a withdrawal on the server. */
4224
4502
  submit(input: SubmitReturnInput): Promise<SdkResult<ReturnRequest>>;
4225
4503
  /** Email is the ownership gate; POST so it never lands in a URL / log. */
4226
4504
  getStatus(returnId: string, email: string): Promise<SdkResult<ReturnStatus>>;
@@ -5221,6 +5499,36 @@ declare function useSiteFormSubmit(slug: string): {
5221
5499
  reset: () => void;
5222
5500
  };
5223
5501
 
5502
+ interface UseBookingsOptions {
5503
+ enabled?: boolean;
5504
+ }
5505
+ /** Public booking setup: services, staff, branches, rules (`client.bookings.getConfig`). */
5506
+ declare function useBookingConfig(options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingConfig>, Error>;
5507
+ /**
5508
+ * Free start times for the selected services. Disabled until at least one
5509
+ * service is picked. Free times change with every booking, so the data is
5510
+ * treated as stale after 30 seconds.
5511
+ */
5512
+ declare function useBookingSlots(query: BookingSlotsQuery, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingSlots>, Error>;
5513
+ /**
5514
+ * Create a booking. On 409 `be.bookings.slotTaken` the free times are
5515
+ * refreshed automatically; show `errorMessage(error, locale)` and let the
5516
+ * customer pick another time.
5517
+ */
5518
+ declare function useCreateBooking(): _tanstack_react_query.UseMutationResult<BookingCreated, Error, BookingCreateInput, unknown>;
5519
+ /** The booking behind the token from the confirmation email. */
5520
+ declare function useManagedBooking(token: string, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<Booking>, Error>;
5521
+ /** Free times to move a booking to. */
5522
+ declare function useManagedBookingSlots(token: string, query: BookingManageSlotsQuery, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingSlots>, Error>;
5523
+ /** Cancel the booking; the cached booking is replaced with the answer. */
5524
+ declare function useCancelBooking(token: string): _tanstack_react_query.UseMutationResult<Booking, Error, void | {
5525
+ reason?: string | null;
5526
+ }, unknown>;
5527
+ /** Move the booking to a new start; the cached booking is replaced with the answer. */
5528
+ declare function useRescheduleBooking(token: string): _tanstack_react_query.UseMutationResult<Booking, Error, {
5529
+ startMs: number;
5530
+ }, unknown>;
5531
+
5224
5532
  interface UseShopInfoOptions {
5225
5533
  enabled?: boolean;
5226
5534
  }
@@ -5726,6 +6034,8 @@ declare function useLookupReturnableOrder(): _tanstack_react_query.UseMutationRe
5726
6034
  orderNumber: string;
5727
6035
  email: string;
5728
6036
  }, unknown>;
6037
+ /** EU withdrawal function: call after the consumer pressed "Confirm withdrawal" (2.25.0). */
6038
+ declare function useSubmitWithdrawal(): _tanstack_react_query.UseMutationResult<WithdrawalAcknowledgement, Error, SubmitWithdrawalInput, unknown>;
5729
6039
  declare function useSubmitReturn(): _tanstack_react_query.UseMutationResult<ReturnRequest, Error, SubmitReturnInput, unknown>;
5730
6040
  declare function useReturnStatus(returnId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<NoInfer<ReturnStatus>, Error>;
5731
6041
 
@@ -6057,4 +6367,4 @@ declare function revokeAnalyticsConsent(client: BehioStorefront): Promise<SdkRes
6057
6367
  success: boolean;
6058
6368
  }>>;
6059
6369
 
6060
- export { type ActivePromotion, type AddToCartInput, type AnalyticsEventInput, type AuthTokens, BehioAnalyticsTracker, BehioApiError, BehioProvider, type BehioProviderProps, type Blog, type BlogPostDetail, type BlogPostListItem, type BlogPostsPage, type BlogPostsQuery, type BlogSettings, type BlogTag, type Bundle, type BundleItem, type Cart, type CartDiscount, type CartItem, type Category, type CategoryDetail, type CheckoutAddress, type CheckoutInput, type CheckoutPaymentMethod, type CookieConsent, type CookieConsentInput, type CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, type CustomerAddress, type CustomerProfile, type EcommerceEventName, type EcommerceItem, type EcommercePayload, type Facet, type FacetRange, type FacetValue, type FacetsResponse, type FilterField, type FulfillmentStatus, type GiftCardBalance, type LoginInput, type MessageResponse, type OrderDetail, type OrderItem, type OrderListItem, type OrderStatus, type Page, type PageAttachment, type PageDetail, type PaginatedResponse, type PaymentInstrument, type PaymentStatus, type PaymentSwift, type PersonalOffer, type ProductDetail, type ProductLabel, type ProductListItem, type ProductParameter, type ProductParameterGroup, type ProductParametersResponse, type ProductPrice, type ProductReview, type ProductReviewsResponse, type ProductVariant, type ProductsQuery, type QuoteRequest, type RegisterInput, type ReturnRequest, RichText, type RichTextProps, type ShopInfo, type ShopSeo, type SiteFormField, type SiteFormFieldOption, type SiteFormFieldType, type StorageAdapter, type StorefrontForm, type StorefrontFormFieldError, type StorefrontFormFieldErrorCode, type StorefrontFormSettings, type StorefrontFormSubmitInput, type StorefrontFormSubmitResult, StorefrontScripts, type StorefrontScriptsProps, type SubmitQuoteInput, type SubmitReturnInput, type SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseBlogPostOptions, type UseBlogPostsOptions, type UseBlogsOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCertificateVerificationOptions, type UseCollectionOptions, type UseCourseCertificatesOptions, type UseCourseOptions, type UseCoursesOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFacetsOptions, type UseFaqOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseLessonCommentsOptions, type UseLessonNoteOptions, type UseLessonQuizOptions, type UseLessonTutorOptions, type UseLoyaltyOptions, type UseMenuOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UsePaymentMethodsOptions, type UsePersonalOffersOptions, type UseProductOptions, type UseProductParametersOptions, type UseProductsOptions, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingQuoteOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, type UseSiteFormOptions, type UseSubscriptionsOptions, type UseVisitorMessagesOptions, type VisitorMessage, type WishlistItem, cookieStorage, createMemoryStorage, detectStorage, formatPrice, generateVisitorId, getStoredVisitorId, grantAnalyticsConsent, localStorageAdapter, memoryStorage, revokeAnalyticsConsent, trackEcommerceEvent, useAddressAutocomplete, useAddresses, useAnalyticsEvents, useAuth, useBehio, useBehioClient, useBlogPost, useBlogPosts, useBlogs, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCertificateVerification, useCheckout, useCheckoutPreview, useCollection, useCollectionItem, useCookieConsent, useCourse, useCourseCertificates, useCourses, useCrossSell, useCurrency, useCustomer, useFacets, useFaqGroup, useFaqGroups, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLessonComments, useLessonNote, useLessonQuiz, useLessonTutor, useLookupReturnableOrder, useLoyalty, useMenu, useNewsletterSubscribe, useNewsletterUnsubscribe, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, usePaymentMethods, usePersonalOffers, usePickupPoints, useProduct, useProductGroup, useProductParameters, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShippingMethods, useShippingQuote, useShopInfo, useShopScripts, useShopSeo, useSiteForm, useSiteFormSubmit, useSubmitQuote, useSubmitReturn, useSubmitReview, useSubscriptions, useVisitorMessages, useWishlist };
6370
+ export { type ActivePromotion, type AddToCartInput, type AnalyticsEventInput, type AuthTokens, BehioAnalyticsTracker, BehioApiError, BehioProvider, type BehioProviderProps, type Blog, type BlogPostDetail, type BlogPostListItem, type BlogPostsPage, type BlogPostsQuery, type BlogSettings, type BlogTag, type Booking, type BookingCategory, type BookingConfig, type BookingCreateInput, type BookingCreated, type BookingLocale, type BookingLocation, type BookingManageSlotsQuery, type BookingService, type BookingSlot, type BookingSlots, type BookingSlotsQuery, type BookingStaff, type BookingStatus, type Bundle, type BundleItem, type Cart, type CartDiscount, type CartItem, type Category, type CategoryDetail, type CheckoutAddress, type CheckoutInput, type CheckoutPaymentMethod, type CookieConsent, type CookieConsentInput, type CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, type CustomerAddress, type CustomerProfile, type EcommerceEventName, type EcommerceItem, type EcommercePayload, type Facet, type FacetRange, type FacetValue, type FacetsResponse, type FilterField, type FulfillmentStatus, type GiftCardBalance, type LoginInput, type MessageResponse, type OrderDetail, type OrderItem, type OrderListItem, type OrderStatus, type Page, type PageAttachment, type PageDetail, type PaginatedResponse, type PaymentInstrument, type PaymentStatus, type PaymentSwift, type PersonalOffer, type ProductDetail, type ProductLabel, type ProductListItem, type ProductParameter, type ProductParameterGroup, type ProductParametersResponse, type ProductPrice, type ProductReview, type ProductReviewsResponse, type ProductVariant, type ProductsQuery, type QuoteRequest, type RegisterInput, type ReturnRequest, RichText, type RichTextProps, type ShopInfo, type ShopSeo, type SiteFormField, type SiteFormFieldOption, type SiteFormFieldType, type StorageAdapter, type StorefrontForm, type StorefrontFormFieldError, type StorefrontFormFieldErrorCode, type StorefrontFormSettings, type StorefrontFormSubmitInput, type StorefrontFormSubmitResult, StorefrontScripts, type StorefrontScriptsProps, type SubmitQuoteInput, type SubmitReturnInput, type SubmitReviewInput, type SubmitWithdrawalInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseBlogPostOptions, type UseBlogPostsOptions, type UseBlogsOptions, type UseBookingsOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCertificateVerificationOptions, type UseCollectionOptions, type UseCourseCertificatesOptions, type UseCourseOptions, type UseCoursesOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFacetsOptions, type UseFaqOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseLessonCommentsOptions, type UseLessonNoteOptions, type UseLessonQuizOptions, type UseLessonTutorOptions, type UseLoyaltyOptions, type UseMenuOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UsePaymentMethodsOptions, type UsePersonalOffersOptions, type UseProductOptions, type UseProductParametersOptions, type UseProductsOptions, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingQuoteOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, type UseSiteFormOptions, type UseSubscriptionsOptions, type UseVisitorMessagesOptions, type VisitorMessage, type WishlistItem, type WithdrawalAcknowledgement, type WithdrawalWindow, cookieStorage, createMemoryStorage, detectStorage, formatPrice, generateVisitorId, getStoredVisitorId, grantAnalyticsConsent, localStorageAdapter, memoryStorage, revokeAnalyticsConsent, trackEcommerceEvent, useAddressAutocomplete, useAddresses, useAnalyticsEvents, useAuth, useBehio, useBehioClient, useBlogPost, useBlogPosts, useBlogs, useBookingConfig, useBookingSlots, useBundle, useBundles, useCancelBooking, useCart, useCartCount, useCategories, useCategory, useCertificateVerification, useCheckout, useCheckoutPreview, useCollection, useCollectionItem, useCookieConsent, useCourse, useCourseCertificates, useCourses, useCreateBooking, useCrossSell, useCurrency, useCustomer, useFacets, useFaqGroup, useFaqGroups, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLessonComments, useLessonNote, useLessonQuiz, useLessonTutor, useLookupReturnableOrder, useLoyalty, useManagedBooking, useManagedBookingSlots, useMenu, useNewsletterSubscribe, useNewsletterUnsubscribe, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, usePaymentMethods, usePersonalOffers, usePickupPoints, useProduct, useProductGroup, useProductParameters, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useRescheduleBooking, useReturnStatus, useSearch, useShippingMethods, useShippingQuote, useShopInfo, useShopScripts, useShopSeo, useSiteForm, useSiteFormSubmit, useSubmitQuote, useSubmitReturn, useSubmitReview, useSubmitWithdrawal, useSubscriptions, useVisitorMessages, useWishlist };