@behio/storefront-sdk 2.23.0 → 2.25.1

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;
@@ -1843,7 +1857,22 @@ interface OrderPaymentInstructions {
1843
1857
  currency: string;
1844
1858
  instructions: string | null;
1845
1859
  }
1860
+ /** Issued document visible only to the authorized order owner. Its page offers a PDF download. */
1861
+ interface OrderDocument {
1862
+ id: string;
1863
+ number: string;
1864
+ type: "INVOICE" | "PROFORMA" | "RECEIPT" | "CREDIT_NOTE";
1865
+ currency: string;
1866
+ totalAmount: number;
1867
+ /** Actual invoice ledger amounts, independent of the order payment status. */
1868
+ paidAmount: number;
1869
+ remainingAmount: number;
1870
+ /** Capability URL: do not expose in public tracking, analytics or logs. */
1871
+ url: string;
1872
+ }
1846
1873
  interface OrderDetail extends OrderListItem {
1874
+ /** Issued invoices/proformas/receipts/credit notes. Drafts and revoked links are excluded. */
1875
+ documents?: OrderDocument[];
1847
1876
  /** Payment is recorded; access delivery will retry automatically. Do not place a duplicate order. */
1848
1877
  contentDeliveryPending?: boolean;
1849
1878
  /** False for an order without physical delivery. */
@@ -3147,9 +3176,70 @@ interface ReturnableOrder {
3147
3176
  orderId: string;
3148
3177
  orderNumber: string;
3149
3178
  status: string;
3179
+ /** Name from the order billing address, to prefill the withdrawal form (2.25.0). */
3180
+ customerName: string | null;
3150
3181
  items: ReturnableOrderItem[];
3182
+ /** Withdrawal window of this order (2.25.0). */
3183
+ withdrawal: WithdrawalWindow;
3151
3184
  createdAt: number;
3152
3185
  }
3186
+ /**
3187
+ * What the withdrawal form should say about the period. The form stays
3188
+ * usable outside the window: the consumer may always submit, the merchant
3189
+ * decides. (2.25.0)
3190
+ */
3191
+ interface WithdrawalWindow {
3192
+ /** The e-shop offers the online withdrawal function. */
3193
+ enabled: boolean;
3194
+ periodDays: number;
3195
+ /** Last moment of the period (ms). Null while it has not started or delivery is not recorded. */
3196
+ deadlineAt: number | null;
3197
+ /** False only when the period demonstrably ended. */
3198
+ withinPeriod: boolean;
3199
+ /** AFTER_DEADLINE | BEFORE_DISPATCH | DELIVERY_UNKNOWN | DIGITAL_CONTENT_CONSENT */
3200
+ flags: WithdrawalFlag[];
3201
+ }
3202
+ type WithdrawalFlag = "AFTER_DEADLINE" | "BEFORE_DISPATCH" | "DELIVERY_UNKNOWN" | "DIGITAL_CONTENT_CONSENT";
3203
+ /**
3204
+ * Input of `returns.withdraw()`: the withdrawal statement of Art. 11a(2):
3205
+ * the consumer's name, the contract (order number) and the e-mail the
3206
+ * acknowledgement goes to. Send it only after the consumer pressed the
3207
+ * confirmation button ("Confirm withdrawal"), hence `confirmed: true`. (2.25.0)
3208
+ */
3209
+ interface SubmitWithdrawalInput {
3210
+ orderNumber: string;
3211
+ /** Order e-mail: the ownership gate and where the acknowledgement is sent. */
3212
+ email: string;
3213
+ name: string;
3214
+ /** Omit to withdraw from every still returnable item of the order. */
3215
+ items?: {
3216
+ orderItemId: string;
3217
+ quantity: number;
3218
+ }[];
3219
+ note?: string;
3220
+ confirmed: true;
3221
+ }
3222
+ /**
3223
+ * Returned by `returns.withdraw()`. Show it as the acknowledgement: the same
3224
+ * content with date and time also goes out by e-mail. `confirmationSent`
3225
+ * says whether that e-mail really went out. (2.25.0)
3226
+ */
3227
+ interface WithdrawalAcknowledgement {
3228
+ id: string;
3229
+ orderNumber: string;
3230
+ customerName: string;
3231
+ email: string;
3232
+ /** Date and time of submission (ms). */
3233
+ submittedAt: number;
3234
+ items: {
3235
+ productName: string;
3236
+ quantity: number;
3237
+ }[];
3238
+ note: string | null;
3239
+ deadlineAt: number | null;
3240
+ withinPeriod: boolean;
3241
+ confirmationSent: boolean;
3242
+ }
3153
3243
  interface ReturnRequestItem {
3154
3244
  id: string;
3155
3245
  orderItemId: string;
@@ -3180,6 +3270,8 @@ interface ReturnStatusItem {
3180
3270
  interface ReturnStatus {
3181
3271
  id: string;
3182
3272
  orderNumber: string;
3273
+ /** WITHDRAWAL = withdrawal from the contract, RETURN = return or complaint (2.25.0). */
3274
+ type: "RETURN" | "WITHDRAWAL";
3183
3275
  /** REQUESTED | APPROVED | SHIPPED_BACK | RECEIVED | REFUNDED | REJECTED | CLOSED */
3184
3276
  status: string;
3185
3277
  reason: string;
@@ -3339,6 +3431,145 @@ interface GamificationRefreshResult {
3339
3431
  awarded: number;
3340
3432
  completed: number;
3341
3433
  }
3434
+ type BookingLocale = "cs" | "sk" | "en";
3435
+ type BookingStatus = "PENDING" | "CONFIRMED" | "CANCELLED" | "NO_SHOW" | "COMPLETED";
3436
+ interface BookingService {
3437
+ id: string;
3438
+ categoryId: string | null;
3439
+ name: string;
3440
+ description: string | null;
3441
+ durationMinutes: number;
3442
+ /** Null = price on site (show it as such, never as 0). */
3443
+ price: number | null;
3444
+ /** ISO 4217 code (CZK, EUR, ...). */
3445
+ currency: string;
3446
+ }
3447
+ interface BookingCategory {
3448
+ id: string;
3449
+ name: string;
3450
+ }
3451
+ interface BookingStaff {
3452
+ id: string;
3453
+ name: string;
3454
+ title: string | null;
3455
+ bio: string | null;
3456
+ /** `#rrggbb` or null. */
3457
+ color: string | null;
3458
+ /** Services this person does. */
3459
+ serviceIds: string[];
3460
+ }
3461
+ interface BookingLocation {
3462
+ id: string;
3463
+ name: string;
3464
+ address: string | null;
3465
+ timezone: string;
3466
+ }
3467
+ /** Public booking setup of the site owner (`GET /bookings/config`). */
3468
+ interface BookingConfig {
3469
+ businessName: string;
3470
+ intro: string | null;
3471
+ /** `#rrggbb` brand colour of the widget, or null. */
3472
+ accentColor: string | null;
3473
+ defaultLocale: BookingLocale;
3474
+ /** Offer a staff choice step (otherwise send `staffId: null`). */
3475
+ allowStaffChoice: boolean;
3476
+ /** New bookings start as PENDING and the business confirms them. */
3477
+ requireApproval: boolean;
3478
+ /** How many days ahead a customer may book. */
3479
+ maxAdvanceDays: number;
3480
+ /** Customer may change or cancel until this many hours before the start. */
3481
+ customerCancelHours: number;
3482
+ contactPhone: string | null;
3483
+ contactEmail: string | null;
3484
+ /**
3485
+ * Online booking is paused (plan limit). Do not offer the flow, show the
3486
+ * contact instead: `create` would answer `be.bookings.onlineLimitReached`.
3487
+ */
3488
+ onlinePaused: boolean;
3489
+ /** IANA time zone of the branch; show every day and time in it. */
3490
+ timezone: string;
3491
+ locations: BookingLocation[];
3492
+ categories: BookingCategory[];
3493
+ services: BookingService[];
3494
+ staff: BookingStaff[];
3495
+ }
3496
+ interface BookingSlot {
3497
+ startMs: number;
3498
+ endMs: number;
3499
+ }
3500
+ interface BookingSlots {
3501
+ timezone: string;
3502
+ /** Total length of the selected services. */
3503
+ durationMinutes: number;
3504
+ slots: BookingSlot[];
3505
+ }
3506
+ interface BookingSlotsQuery {
3507
+ /** Selected services in the order they follow each other (1 to 10). */
3508
+ serviceIds: string[];
3509
+ /** Only this person; omit for anyone free. */
3510
+ staffId?: string | null;
3511
+ /** First day `YYYY-MM-DD` (branch time zone). */
3512
+ from: string;
3513
+ /** Last day `YYYY-MM-DD`, at most 31 days after `from`. */
3514
+ to: string;
3515
+ }
3516
+ interface BookingManageSlotsQuery {
3517
+ from: string;
3518
+ to: string;
3519
+ }
3520
+ interface BookingCreateInput {
3521
+ serviceIds: string[];
3522
+ /** Null or omitted = anyone free. */
3523
+ staffId?: string | null;
3524
+ /** `startMs` of a slot from `getSlots`. */
3525
+ startMs: number;
3526
+ name: string;
3527
+ email: string;
3528
+ phone?: string | null;
3529
+ note?: string | null;
3530
+ /** Language of the confirmation email. */
3531
+ locale?: BookingLocale;
3532
+ /** Honeypot: render a hidden input and send its value; people leave it empty. */
3533
+ website?: string;
3534
+ /** Analytics visitor (consent-gated), only for the CRM. */
3535
+ visitorId?: string | null;
3536
+ }
3537
+ /** One booking as the customer sees it. */
3538
+ interface Booking {
3539
+ id: string;
3540
+ /** Short code shown to the customer and in emails. */
3541
+ code: string;
3542
+ status: BookingStatus;
3543
+ startMs: number;
3544
+ endMs: number;
3545
+ timezone: string;
3546
+ businessName: string;
3547
+ staffName: string;
3548
+ locationName: string;
3549
+ locationAddress: string | null;
3550
+ services: string[];
3551
+ serviceIds: string[];
3552
+ /** Person chosen by the customer; null = anyone. */
3553
+ staffId: string | null;
3554
+ totalPrice: number | null;
3555
+ currency: string;
3556
+ customerName: string;
3557
+ /** The customer may still change or cancel (deadline from the settings). */
3558
+ canChange: boolean;
3559
+ /** Until when (ms) the customer may change or cancel. */
3560
+ changeDeadline: number | null;
3561
+ /** Phone of the business to show once `canChange` is false. */
3562
+ contactPhone: string | null;
3563
+ locale: string;
3564
+ }
3565
+ interface BookingCreated {
3566
+ booking: Booking;
3567
+ /**
3568
+ * Token for the change and cancel link (the same one the confirmation email
3569
+ * carries). Treat it like a password: never put it in analytics or logs.
3570
+ */
3571
+ manageToken: string;
3572
+ }
3342
3573
 
3343
3574
  declare class BehioStorefront {
3344
3575
  private baseUrl;
@@ -3393,6 +3624,7 @@ declare class BehioStorefront {
3393
3624
  readonly forms: FormsModule;
3394
3625
  readonly collections: CollectionsModule;
3395
3626
  readonly faq: FaqModule;
3627
+ readonly bookings: BookingsModule;
3396
3628
  readonly wishlist: WishlistModule;
3397
3629
  readonly reviews: ReviewsModule;
3398
3630
  readonly returns: ReturnsModule;
@@ -4146,6 +4378,49 @@ declare class FaqModule {
4146
4378
  */
4147
4379
  get(group: string, query?: StorefrontFaqQuery): Promise<SdkResult<StorefrontFaqGroup>>;
4148
4380
  }
4381
+ /**
4382
+ * Online booking of the site owner's services (hair salon, clinic, lessons):
4383
+ * the public setup, free times, a new booking, and the change and cancel flow
4384
+ * behind the token from the confirmation email. Works with website keys that
4385
+ * have no e-shop attached; the Bookings module must be on in the admin
4386
+ * (otherwise 404 `be.bookings.widgetNotFound`).
4387
+ *
4388
+ * Days are `YYYY-MM-DD` in the branch time zone (`config.timezone`), not the
4389
+ * visitor's; format times with `timeZone: config.timezone`.
4390
+ *
4391
+ * Errors worth handling: 409 `be.bookings.slotTaken` (someone was faster:
4392
+ * reload the slots and let the customer pick again), 403
4393
+ * `be.bookings.onlineLimitReached` (online booking paused, show the contact),
4394
+ * 403 `be.bookings.changeTooLate` (too late to change, show
4395
+ * `booking.contactPhone`), 404 `be.bookings.manageNotFound` (old or wrong
4396
+ * token), 429 (rate limit: 10 new bookings and 20 changes per minute).
4397
+ */
4398
+ declare class BookingsModule {
4399
+ private client;
4400
+ constructor(client: BehioStorefront);
4401
+ /** Services, categories, staff, branches and rules of the booking flow. */
4402
+ getConfig(): Promise<SdkResult<BookingConfig>>;
4403
+ /** Free start times for the selected services (at most 31 days per call). */
4404
+ getSlots(query: BookingSlotsQuery): Promise<SdkResult<BookingSlots>>;
4405
+ /**
4406
+ * Create a booking. Counts toward the monthly online limit of the plan.
4407
+ * Keep `manageToken` only to link the customer to the change and cancel
4408
+ * page; the same link arrives in the confirmation email.
4409
+ */
4410
+ create(input: BookingCreateInput): Promise<SdkResult<BookingCreated>>;
4411
+ /** The booking behind the token from the confirmation email. */
4412
+ getByToken(token: string): Promise<SdkResult<Booking>>;
4413
+ /** Free times to move the booking to (same services and person rules). */
4414
+ getManageSlots(token: string, query: BookingManageSlotsQuery): Promise<SdkResult<BookingSlots>>;
4415
+ /** Cancel the booking (optional reason for the business). */
4416
+ cancel(token: string, input?: {
4417
+ reason?: string | null;
4418
+ }): Promise<SdkResult<Booking>>;
4419
+ /** Move the booking to `startMs` of a slot from `getManageSlots`. */
4420
+ reschedule(token: string, input: {
4421
+ startMs: number;
4422
+ }): Promise<SdkResult<Booking>>;
4423
+ }
4149
4424
  /**
4150
4425
  * Merchant-defined forms (contact, demand, registration to an event...).
4151
4426
  * The definition is public and cacheable; a submit is validated server-side
@@ -4230,6 +4505,15 @@ declare class ReturnsModule {
4230
4505
  * quantities. POST so the email never appears in a URL.
4231
4506
  */
4232
4507
  lookupOrder(orderNumber: string, email: string): Promise<SdkResult<ReturnableOrder>>;
4508
+ /**
4509
+ * EU withdrawal function (Art. 11a Directive 2011/83/EU, 2.25.0). Two steps
4510
+ * in the template: the form (name, order number, e-mail), then a summary
4511
+ * with the "Confirm withdrawal" button that calls this. The result is the
4512
+ * acknowledgement to show; the same content with date and time goes out by
4513
+ * e-mail. Guests welcome, the order e-mail is the gate.
4514
+ */
4515
+ withdraw(input: SubmitWithdrawalInput): Promise<SdkResult<WithdrawalAcknowledgement>>;
4516
+ /** Return or complaint. Reason CHANGED_MIND is recorded as a withdrawal on the server. */
4233
4517
  submit(input: SubmitReturnInput): Promise<SdkResult<ReturnRequest>>;
4234
4518
  /** Email is the ownership gate; POST so it never lands in a URL / log. */
4235
4519
  getStatus(returnId: string, email: string): Promise<SdkResult<ReturnStatus>>;
@@ -5230,6 +5514,36 @@ declare function useSiteFormSubmit(slug: string): {
5230
5514
  reset: () => void;
5231
5515
  };
5232
5516
 
5517
+ interface UseBookingsOptions {
5518
+ enabled?: boolean;
5519
+ }
5520
+ /** Public booking setup: services, staff, branches, rules (`client.bookings.getConfig`). */
5521
+ declare function useBookingConfig(options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingConfig>, Error>;
5522
+ /**
5523
+ * Free start times for the selected services. Disabled until at least one
5524
+ * service is picked. Free times change with every booking, so the data is
5525
+ * treated as stale after 30 seconds.
5526
+ */
5527
+ declare function useBookingSlots(query: BookingSlotsQuery, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingSlots>, Error>;
5528
+ /**
5529
+ * Create a booking. On 409 `be.bookings.slotTaken` the free times are
5530
+ * refreshed automatically; show `errorMessage(error, locale)` and let the
5531
+ * customer pick another time.
5532
+ */
5533
+ declare function useCreateBooking(): _tanstack_react_query.UseMutationResult<BookingCreated, Error, BookingCreateInput, unknown>;
5534
+ /** The booking behind the token from the confirmation email. */
5535
+ declare function useManagedBooking(token: string, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<Booking>, Error>;
5536
+ /** Free times to move a booking to. */
5537
+ declare function useManagedBookingSlots(token: string, query: BookingManageSlotsQuery, options?: UseBookingsOptions): _tanstack_react_query.UseQueryResult<NoInfer<BookingSlots>, Error>;
5538
+ /** Cancel the booking; the cached booking is replaced with the answer. */
5539
+ declare function useCancelBooking(token: string): _tanstack_react_query.UseMutationResult<Booking, Error, void | {
5540
+ reason?: string | null;
5541
+ }, unknown>;
5542
+ /** Move the booking to a new start; the cached booking is replaced with the answer. */
5543
+ declare function useRescheduleBooking(token: string): _tanstack_react_query.UseMutationResult<Booking, Error, {
5544
+ startMs: number;
5545
+ }, unknown>;
5546
+
5233
5547
  interface UseShopInfoOptions {
5234
5548
  enabled?: boolean;
5235
5549
  }
@@ -5735,6 +6049,8 @@ declare function useLookupReturnableOrder(): _tanstack_react_query.UseMutationRe
5735
6049
  orderNumber: string;
5736
6050
  email: string;
5737
6051
  }, unknown>;
6052
+ /** EU withdrawal function: call after the consumer pressed "Confirm withdrawal" (2.25.0). */
6053
+ declare function useSubmitWithdrawal(): _tanstack_react_query.UseMutationResult<WithdrawalAcknowledgement, Error, SubmitWithdrawalInput, unknown>;
5738
6054
  declare function useSubmitReturn(): _tanstack_react_query.UseMutationResult<ReturnRequest, Error, SubmitReturnInput, unknown>;
5739
6055
  declare function useReturnStatus(returnId: string | undefined, email: string | undefined): _tanstack_react_query.UseQueryResult<NoInfer<ReturnStatus>, Error>;
5740
6056
 
@@ -6066,4 +6382,4 @@ declare function revokeAnalyticsConsent(client: BehioStorefront): Promise<SdkRes
6066
6382
  success: boolean;
6067
6383
  }>>;
6068
6384
 
6069
- 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 };
6385
+ 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 };