@shopify/hydrogen 2026.1.4 → 2026.4.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.
@@ -45,25 +45,30 @@ type CachingStrategy = AllCacheOptions;
45
45
  type NoStoreStrategy = {
46
46
  mode: string;
47
47
  };
48
+ /** @publicDocs */
48
49
  declare function generateCacheControlHeader(cacheOptions: CachingStrategy): string;
49
50
  /**
50
51
  *
51
52
  * @public
53
+ * @publicDocs
52
54
  */
53
55
  declare function CacheNone(): NoStoreStrategy;
54
56
  /**
55
57
  *
56
58
  * @public
59
+ * @publicDocs
57
60
  */
58
61
  declare function CacheShort(overrideOptions?: CachingStrategy): AllCacheOptions;
59
62
  /**
60
63
  *
61
64
  * @public
65
+ * @publicDocs
62
66
  */
63
67
  declare function CacheLong(overrideOptions?: CachingStrategy): AllCacheOptions;
64
68
  /**
65
69
  *
66
70
  * @public
71
+ * @publicDocs
67
72
  */
68
73
  declare function CacheCustom(overrideOptions: CachingStrategy): AllCacheOptions;
69
74
 
@@ -1115,39 +1120,51 @@ type CartGetOptions = CartQueryOptions & {
1115
1120
  */
1116
1121
  customerAccount?: CustomerAccount;
1117
1122
  };
1123
+ /** @publicDocs */
1118
1124
  declare function cartGetDefault({ storefront, customerAccount, getCartId, cartFragment, }: CartGetOptions): CartGetFunction;
1119
1125
 
1120
1126
  type CartCreateFunction = (input: CartInput, optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1127
+ /** @publicDocs */
1121
1128
  declare function cartCreateDefault(options: CartQueryOptions): CartCreateFunction;
1122
1129
 
1123
1130
  type CartLinesAddFunction = (lines: Array<CartLineInput>, optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1131
+ /** @publicDocs */
1124
1132
  declare function cartLinesAddDefault(options: CartQueryOptions): CartLinesAddFunction;
1125
1133
 
1126
1134
  type CartLinesUpdateFunction = (lines: CartLineUpdateInput[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1135
+ /** @publicDocs */
1127
1136
  declare function cartLinesUpdateDefault(options: CartQueryOptions): CartLinesUpdateFunction;
1128
1137
 
1129
1138
  type CartLinesRemoveFunction = (lineIds: string[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1139
+ /** @publicDocs */
1130
1140
  declare function cartLinesRemoveDefault(options: CartQueryOptions): CartLinesRemoveFunction;
1131
1141
 
1132
1142
  type CartDiscountCodesUpdateFunction = (discountCodes: string[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1143
+ /** @publicDocs */
1133
1144
  declare function cartDiscountCodesUpdateDefault(options: CartQueryOptions): CartDiscountCodesUpdateFunction;
1134
1145
 
1135
1146
  type CartBuyerIdentityUpdateFunction = (buyerIdentity: CartBuyerIdentityInput, optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1147
+ /** @publicDocs */
1136
1148
  declare function cartBuyerIdentityUpdateDefault(options: CartQueryOptions): CartBuyerIdentityUpdateFunction;
1137
1149
 
1138
1150
  type CartNoteUpdateFunction = (note: string, optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1151
+ /** @publicDocs */
1139
1152
  declare function cartNoteUpdateDefault(options: CartQueryOptions): CartNoteUpdateFunction;
1140
1153
 
1141
1154
  type CartSelectedDeliveryOptionsUpdateFunction = (selectedDeliveryOptions: CartSelectedDeliveryOptionInput[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1155
+ /** @publicDocs */
1142
1156
  declare function cartSelectedDeliveryOptionsUpdateDefault(options: CartQueryOptions): CartSelectedDeliveryOptionsUpdateFunction;
1143
1157
 
1144
1158
  type CartAttributesUpdateFunction = (attributes: AttributeInput[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1159
+ /** @publicDocs */
1145
1160
  declare function cartAttributesUpdateDefault(options: CartQueryOptions): CartAttributesUpdateFunction;
1146
1161
 
1147
1162
  type CartMetafieldsSetFunction = (metafields: MetafieldWithoutOwnerId[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1163
+ /** @publicDocs */
1148
1164
  declare function cartMetafieldsSetDefault(options: CartQueryOptions): CartMetafieldsSetFunction;
1149
1165
 
1150
1166
  type CartMetafieldDeleteFunction = (key: Scalars['String']['input'], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1167
+ /** @publicDocs */
1151
1168
  declare function cartMetafieldDeleteDefault(options: CartQueryOptions): CartMetafieldDeleteFunction;
1152
1169
 
1153
1170
  type CartGiftCardCodesUpdateFunction = (giftCardCodes: string[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
@@ -1162,6 +1179,7 @@ type CartGiftCardCodesUpdateFunction = (giftCardCodes: string[], optionalParams?
1162
1179
  * @example Replace all gift card codes
1163
1180
  * const updateGiftCardCodes = cartGiftCardCodesUpdateDefault({ storefront, getCartId });
1164
1181
  * await updateGiftCardCodes(['SUMMER2025', 'WELCOME10']);
1182
+ * @publicDocs
1165
1183
  */
1166
1184
  declare function cartGiftCardCodesUpdateDefault(options: CartQueryOptions): CartGiftCardCodesUpdateFunction;
1167
1185
 
@@ -1178,10 +1196,12 @@ type CartGiftCardCodesAddFunction = (giftCardCodes: string[], optionalParams?: C
1178
1196
  * @example Add gift card codes
1179
1197
  * const addGiftCardCodes = cartGiftCardCodesAddDefault({ storefront, getCartId });
1180
1198
  * await addGiftCardCodes(['SUMMER2025', 'WELCOME10']);
1199
+ * @publicDocs
1181
1200
  */
1182
1201
  declare function cartGiftCardCodesAddDefault(options: CartQueryOptions): CartGiftCardCodesAddFunction;
1183
1202
 
1184
1203
  type CartGiftCardCodesRemoveFunction = (appliedGiftCardIds: string[], optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
1204
+ /** @publicDocs */
1185
1205
  declare function cartGiftCardCodesRemoveDefault(options: CartQueryOptions): CartGiftCardCodesRemoveFunction;
1186
1206
 
1187
1207
  type CartDeliveryAddressesAddFunction = (addresses: Array<CartSelectableAddressInput>, optionalParams?: CartOptionalInput) => Promise<CartQueryDataReturn>;
@@ -1205,6 +1225,7 @@ type CartDeliveryAddressesAddFunction = (addresses: Array<CartSelectableAddressI
1205
1225
  * }
1206
1226
  * ], { someOptionalParam: 'value' }
1207
1227
  * );
1228
+ * @publicDocs
1208
1229
  */
1209
1230
  declare function cartDeliveryAddressesAddDefault(options: CartQueryOptions): CartDeliveryAddressesAddFunction;
1210
1231
 
@@ -1224,6 +1245,7 @@ type CartDeliveryAddressesRemoveFunction = (addressIds: Array<Scalars['ID']['inp
1224
1245
  * "gid://shopify/<objectName>/10079785100"
1225
1246
  * ],
1226
1247
  * { someOptionalParam: 'value' });
1248
+ * @publicDocs
1227
1249
  */
1228
1250
  declare function cartDeliveryAddressesRemoveDefault(options: CartQueryOptions): CartDeliveryAddressesRemoveFunction;
1229
1251
 
@@ -1265,6 +1287,7 @@ type CartDeliveryAddressesUpdateFunction = (addresses: Array<CartSelectableAddre
1265
1287
  "validationStrategy": "COUNTRY_CODE_ONLY"
1266
1288
  }
1267
1289
  ],{ someOptionalParam: 'value' });
1290
+ * @publicDocs
1268
1291
  */
1269
1292
  declare function cartDeliveryAddressesUpdateDefault(options: CartQueryOptions): CartDeliveryAddressesUpdateFunction;
1270
1293
 
@@ -1293,6 +1316,7 @@ type CartDeliveryAddressesReplaceFunction = (addresses: Array<CartSelectableAddr
1293
1316
  * }
1294
1317
  * ], { someOptionalParam: 'value' }
1295
1318
  * );
1319
+ * @publicDocs
1296
1320
  */
1297
1321
  declare function cartDeliveryAddressesReplaceDefault(options: CartQueryOptions): CartDeliveryAddressesReplaceFunction;
1298
1322
 
@@ -1425,11 +1449,11 @@ type HydrogenCart = {
1425
1449
  replaceDeliveryAddresses: ReturnType<typeof cartDeliveryAddressesReplaceDefault>;
1426
1450
  };
1427
1451
  type HydrogenCartCustom<TCustomMethods extends Partial<HydrogenCart> & CustomMethodsBase> = Omit<HydrogenCart, keyof TCustomMethods> & TCustomMethods;
1452
+ /** @publicDocs */
1428
1453
  declare function createCartHandler(options: CartHandlerOptions): HydrogenCart;
1429
1454
  declare function createCartHandler<TCustomMethods extends CustomMethodsBase>(options: CartHandlerOptionsWithCustom<TCustomMethods>): HydrogenCartCustom<TCustomMethods>;
1430
1455
 
1431
1456
  type RequestEventPayload = {
1432
- __fromVite?: boolean;
1433
1457
  url: string;
1434
1458
  eventType: 'request' | 'subrequest';
1435
1459
  requestId?: string | null;
@@ -1460,6 +1484,102 @@ type RequestEventPayload = {
1460
1484
  declare const CUSTOMER_ACCOUNT_SESSION_KEY = "customerAccount";
1461
1485
  declare const BUYER_SESSION_KEY = "buyer";
1462
1486
 
1487
+ type ConsentStatus = boolean | undefined;
1488
+ type VisitorConsent = {
1489
+ marketing: ConsentStatus;
1490
+ analytics: ConsentStatus;
1491
+ preferences: ConsentStatus;
1492
+ sale_of_data: ConsentStatus;
1493
+ };
1494
+ type VisitorConsentCollected = {
1495
+ analyticsAllowed: boolean;
1496
+ firstPartyMarketingAllowed: boolean;
1497
+ marketingAllowed: boolean;
1498
+ preferencesAllowed: boolean;
1499
+ saleOfDataAllowed: boolean;
1500
+ thirdPartyMarketingAllowed: boolean;
1501
+ };
1502
+ type CustomerPrivacyApiLoaded = boolean;
1503
+ type CustomerPrivacyConsentConfig = {
1504
+ checkoutRootDomain: string;
1505
+ storefrontRootDomain?: string;
1506
+ storefrontAccessToken: string;
1507
+ country?: CountryCode$1;
1508
+ /** The privacyBanner refers to `language` as `locale` */
1509
+ locale?: LanguageCode$1;
1510
+ };
1511
+ type SetConsentHeadlessParams = VisitorConsent & CustomerPrivacyConsentConfig & {
1512
+ headlessStorefront?: boolean;
1513
+ };
1514
+ /**
1515
+ Ideally this type should come from the Custoemr Privacy API sdk
1516
+ analyticsProcessingAllowed -
1517
+ currentVisitorConsent
1518
+ doesMerchantSupportGranularConsent
1519
+ firstPartyMarketingAllowed
1520
+ getCCPAConsent
1521
+ getTrackingConsent
1522
+ marketingAllowed
1523
+ preferencesProcessingAllowed
1524
+ saleOfDataAllowed
1525
+ saleOfDataRegion
1526
+ setTrackingConsent
1527
+ shouldShowBanner
1528
+ shouldShowGDPRBanner
1529
+ thirdPartyMarketingAllowed
1530
+ **/
1531
+ type OriginalCustomerPrivacy = {
1532
+ currentVisitorConsent: () => VisitorConsent;
1533
+ preferencesProcessingAllowed: () => boolean;
1534
+ saleOfDataAllowed: () => boolean;
1535
+ marketingAllowed: () => boolean;
1536
+ analyticsProcessingAllowed: () => boolean;
1537
+ setTrackingConsent: (consent: SetConsentHeadlessParams, callback: (data: {
1538
+ error: string;
1539
+ } | undefined) => void) => void;
1540
+ shouldShowBanner: () => boolean;
1541
+ };
1542
+ type CustomerPrivacy = Omit<OriginalCustomerPrivacy, 'setTrackingConsent'> & {
1543
+ setTrackingConsent: (consent: VisitorConsent, // we have already applied the headlessStorefront in the override
1544
+ callback: (data: {
1545
+ error: string;
1546
+ } | undefined) => void) => void;
1547
+ };
1548
+ type PrivacyBanner = {
1549
+ loadBanner: (options?: Partial<CustomerPrivacyConsentConfig>) => void;
1550
+ showPreferences: (options?: Partial<CustomerPrivacyConsentConfig>) => void;
1551
+ };
1552
+ interface CustomEventMap$1 {
1553
+ visitorConsentCollected: CustomEvent<VisitorConsentCollected>;
1554
+ customerPrivacyApiLoaded: CustomEvent<CustomerPrivacyApiLoaded>;
1555
+ }
1556
+ type CustomerPrivacyApiProps = {
1557
+ /** The production shop checkout domain url. */
1558
+ checkoutDomain: string;
1559
+ /** The storefront access token for the shop. */
1560
+ storefrontAccessToken: string;
1561
+ /** Whether to load the Shopify privacy banner as configured in Shopify admin. Defaults to true. */
1562
+ withPrivacyBanner?: boolean;
1563
+ /** Country code for the shop. */
1564
+ country?: CountryCode$1;
1565
+ /** Language code for the shop. */
1566
+ locale?: LanguageCode$1;
1567
+ /** Callback to be called when visitor consent is collected. */
1568
+ onVisitorConsentCollected?: (consent: VisitorConsentCollected) => void;
1569
+ /** Callback to be call when customer privacy api is ready. */
1570
+ onReady?: () => void;
1571
+ /**
1572
+ * Whether consent libraries can use same-domain requests to the Storefront API.
1573
+ * Defaults to true if the standard route proxy is enabled in Hydrogen server.
1574
+ */
1575
+ sameDomainForStorefrontApi?: boolean;
1576
+ };
1577
+ /** @publicDocs */
1578
+ declare function useCustomerPrivacy(props: CustomerPrivacyApiProps): {
1579
+ customerPrivacy: CustomerPrivacy | null;
1580
+ privacyBanner?: PrivacyBanner | null;
1581
+ };
1582
+
1463
1583
  interface HydrogenSessionData {
1464
1584
  [CUSTOMER_ACCOUNT_SESSION_KEY]: {
1465
1585
  accessToken?: string;
@@ -1544,7 +1664,9 @@ declare global {
1544
1664
  interface Window {
1545
1665
  privacyBanner: PrivacyBanner;
1546
1666
  Shopify: {
1547
- customerPrivacy: CustomerPrivacy;
1667
+ customerPrivacy?: Partial<CustomerPrivacy> & {
1668
+ backendConsentEnabled?: boolean;
1669
+ };
1548
1670
  };
1549
1671
  }
1550
1672
  interface Document {
@@ -1664,12 +1786,14 @@ type StorefrontQueryOptions = StorefrontCommonExtraParams & {
1664
1786
  cache?: CachingStrategy;
1665
1787
  };
1666
1788
  /**
1667
- * This function extends `createStorefrontClient` from [Hydrogen React](/docs/api/hydrogen-react/2026-01/utilities/createstorefrontclient). The additional arguments enable internationalization (i18n), caching, and other features particular to Remix and Oxygen.
1789
+ * This function extends `createStorefrontClient` from [Hydrogen React](/docs/api/hydrogen-react/2026-04/utilities/createstorefrontclient). The additional arguments enable internationalization (i18n), caching, and other features particular to Remix and Oxygen.
1668
1790
  *
1669
1791
  * Learn more about [data fetching in Hydrogen](/docs/custom-storefronts/hydrogen/data-fetching/fetch-data).
1792
+ * @publicDocs
1670
1793
  */
1671
1794
  declare function createStorefrontClient<TI18n extends I18nBase>(options: CreateStorefrontClientOptions<TI18n>): StorefrontClient<TI18n>;
1672
1795
  declare function formatAPIResult<T>(data: T, errors: StorefrontApiErrors): T & StorefrontError;
1796
+ /** @publicDocs */
1673
1797
  type CreateStorefrontClientForDocs<TI18n extends I18nBase> = {
1674
1798
  storefront?: StorefrontForDoc<TI18n>;
1675
1799
  };
@@ -1690,13 +1814,13 @@ type StorefrontForDoc<TI18n extends I18nBase = I18nBase> = {
1690
1814
  CacheCustom?: typeof CacheCustom;
1691
1815
  /** Re-export of [`generateCacheControlHeader`](/docs/api/hydrogen/utilities/generatecachecontrolheader). */
1692
1816
  generateCacheControlHeader?: typeof generateCacheControlHeader;
1693
- /** Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint. See [`getPublicTokenHeaders` in Hydrogen React](/docs/api/hydrogen-react/2026-01/utilities/createstorefrontclient#:~:text=%27graphql%27.-,getPublicTokenHeaders,-(props%3F%3A) for more details. */
1817
+ /** Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint. See [`getPublicTokenHeaders` in Hydrogen React](/docs/api/hydrogen-react/2026-04/utilities/createstorefrontclient#:~:text=%27graphql%27.-,getPublicTokenHeaders,-(props%3F%3A) for more details. */
1694
1818
  getPublicTokenHeaders?: ReturnType<typeof createStorefrontClient$1>['getPublicTokenHeaders'];
1695
- /** Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint for API calls made from a server. See [`getPrivateTokenHeaders` in Hydrogen React](/docs/api/hydrogen-react/2026-01/utilities/createstorefrontclient#:~:text=storefrontApiVersion-,getPrivateTokenHeaders,-(props%3F%3A) for more details.*/
1819
+ /** Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint for API calls made from a server. See [`getPrivateTokenHeaders` in Hydrogen React](/docs/api/hydrogen-react/2026-04/utilities/createstorefrontclient#:~:text=storefrontApiVersion-,getPrivateTokenHeaders,-(props%3F%3A) for more details.*/
1696
1820
  getPrivateTokenHeaders?: ReturnType<typeof createStorefrontClient$1>['getPrivateTokenHeaders'];
1697
- /** Creates the fully-qualified URL to your myshopify.com domain. See [`getShopifyDomain` in Hydrogen React](/docs/api/hydrogen-react/2026-01/utilities/createstorefrontclient#:~:text=StorefrontClientReturn-,getShopifyDomain,-(props%3F%3A) for more details. */
1821
+ /** Creates the fully-qualified URL to your myshopify.com domain. See [`getShopifyDomain` in Hydrogen React](/docs/api/hydrogen-react/2026-04/utilities/createstorefrontclient#:~:text=StorefrontClientReturn-,getShopifyDomain,-(props%3F%3A) for more details. */
1698
1822
  getShopifyDomain?: ReturnType<typeof createStorefrontClient$1>['getShopifyDomain'];
1699
- /** Creates the fully-qualified URL to your store's GraphQL endpoint. See [`getStorefrontApiUrl` in Hydrogen React](/docs/api/hydrogen-react/2026-01/utilities/createstorefrontclient#:~:text=storeDomain-,getStorefrontApiUrl,-(props%3F%3A) for more details.*/
1823
+ /** Creates the fully-qualified URL to your store's GraphQL endpoint. See [`getStorefrontApiUrl` in Hydrogen React](/docs/api/hydrogen-react/2026-04/utilities/createstorefrontclient#:~:text=storeDomain-,getStorefrontApiUrl,-(props%3F%3A) for more details.*/
1700
1824
  getApiUrl?: ReturnType<typeof createStorefrontClient$1>['getStorefrontApiUrl'];
1701
1825
  /** The `i18n` object passed in from the `createStorefrontClient` argument. */
1702
1826
  i18n?: TI18n;
@@ -1894,107 +2018,17 @@ type CustomViewProps = {
1894
2018
  data?: OtherData;
1895
2019
  customData?: OtherData;
1896
2020
  };
2021
+ /** @publicDocs */
1897
2022
  declare function AnalyticsProductView(props: ProductViewProps): react_jsx_runtime.JSX.Element;
2023
+ /** @publicDocs */
1898
2024
  declare function AnalyticsCollectionView(props: CollectionViewProps): react_jsx_runtime.JSX.Element;
2025
+ /** @publicDocs */
1899
2026
  declare function AnalyticsCartView(props: BasicViewProps): react_jsx_runtime.JSX.Element;
2027
+ /** @publicDocs */
1900
2028
  declare function AnalyticsSearchView(props: SearchViewProps): react_jsx_runtime.JSX.Element;
2029
+ /** @publicDocs */
1901
2030
  declare function AnalyticsCustomView(props: CustomViewProps): react_jsx_runtime.JSX.Element;
1902
2031
 
1903
- type ConsentStatus = boolean | undefined;
1904
- type VisitorConsent = {
1905
- marketing: ConsentStatus;
1906
- analytics: ConsentStatus;
1907
- preferences: ConsentStatus;
1908
- sale_of_data: ConsentStatus;
1909
- };
1910
- type VisitorConsentCollected = {
1911
- analyticsAllowed: boolean;
1912
- firstPartyMarketingAllowed: boolean;
1913
- marketingAllowed: boolean;
1914
- preferencesAllowed: boolean;
1915
- saleOfDataAllowed: boolean;
1916
- thirdPartyMarketingAllowed: boolean;
1917
- };
1918
- type CustomerPrivacyApiLoaded = boolean;
1919
- type CustomerPrivacyConsentConfig = {
1920
- checkoutRootDomain: string;
1921
- storefrontRootDomain?: string;
1922
- storefrontAccessToken: string;
1923
- country?: CountryCode$1;
1924
- /** The privacyBanner refers to `language` as `locale` */
1925
- locale?: LanguageCode$1;
1926
- };
1927
- type SetConsentHeadlessParams = VisitorConsent & CustomerPrivacyConsentConfig & {
1928
- headlessStorefront?: boolean;
1929
- };
1930
- /**
1931
- Ideally this type should come from the Custoemr Privacy API sdk
1932
- analyticsProcessingAllowed -
1933
- currentVisitorConsent
1934
- doesMerchantSupportGranularConsent
1935
- firstPartyMarketingAllowed
1936
- getCCPAConsent
1937
- getTrackingConsent
1938
- marketingAllowed
1939
- preferencesProcessingAllowed
1940
- saleOfDataAllowed
1941
- saleOfDataRegion
1942
- setTrackingConsent
1943
- shouldShowBanner
1944
- shouldShowGDPRBanner
1945
- thirdPartyMarketingAllowed
1946
- **/
1947
- type OriginalCustomerPrivacy = {
1948
- currentVisitorConsent: () => VisitorConsent;
1949
- preferencesProcessingAllowed: () => boolean;
1950
- saleOfDataAllowed: () => boolean;
1951
- marketingAllowed: () => boolean;
1952
- analyticsProcessingAllowed: () => boolean;
1953
- setTrackingConsent: (consent: SetConsentHeadlessParams, callback: (data: {
1954
- error: string;
1955
- } | undefined) => void) => void;
1956
- shouldShowBanner: () => boolean;
1957
- };
1958
- type CustomerPrivacy$1 = Omit<OriginalCustomerPrivacy, 'setTrackingConsent'> & {
1959
- setTrackingConsent: (consent: VisitorConsent, // we have already applied the headlessStorefront in the override
1960
- callback: (data: {
1961
- error: string;
1962
- } | undefined) => void) => void;
1963
- };
1964
- type PrivacyBanner$1 = {
1965
- loadBanner: (options?: Partial<CustomerPrivacyConsentConfig>) => void;
1966
- showPreferences: (options?: Partial<CustomerPrivacyConsentConfig>) => void;
1967
- };
1968
- interface CustomEventMap$1 {
1969
- visitorConsentCollected: CustomEvent<VisitorConsentCollected>;
1970
- customerPrivacyApiLoaded: CustomEvent<CustomerPrivacyApiLoaded>;
1971
- }
1972
- type CustomerPrivacyApiProps = {
1973
- /** The production shop checkout domain url. */
1974
- checkoutDomain: string;
1975
- /** The storefront access token for the shop. */
1976
- storefrontAccessToken: string;
1977
- /** Whether to load the Shopify privacy banner as configured in Shopify admin. Defaults to true. */
1978
- withPrivacyBanner?: boolean;
1979
- /** Country code for the shop. */
1980
- country?: CountryCode$1;
1981
- /** Language code for the shop. */
1982
- locale?: LanguageCode$1;
1983
- /** Callback to be called when visitor consent is collected. */
1984
- onVisitorConsentCollected?: (consent: VisitorConsentCollected) => void;
1985
- /** Callback to be call when customer privacy api is ready. */
1986
- onReady?: () => void;
1987
- /**
1988
- * Whether consent libraries can use same-domain requests to the Storefront API.
1989
- * Defaults to true if the standard route proxy is enabled in Hydrogen server.
1990
- */
1991
- sameDomainForStorefrontApi?: boolean;
1992
- };
1993
- declare function useCustomerPrivacy(props: CustomerPrivacyApiProps): {
1994
- customerPrivacy: CustomerPrivacy$1 | null;
1995
- privacyBanner?: PrivacyBanner$1 | null;
1996
- };
1997
-
1998
2032
  type ShopAnalytics = {
1999
2033
  /** The shop ID. */
2000
2034
  shopId: string;
@@ -2008,6 +2042,7 @@ type ShopAnalytics = {
2008
2042
  type Consent = Partial<Pick<CustomerPrivacyApiProps, 'checkoutDomain' | 'sameDomainForStorefrontApi' | 'storefrontAccessToken' | 'withPrivacyBanner' | 'country'>> & {
2009
2043
  language?: LanguageCode$1;
2010
2044
  };
2045
+ /** @publicDocs */
2011
2046
  type AnalyticsProviderProps = {
2012
2047
  /** React children to render. */
2013
2048
  children?: ReactNode;
@@ -2046,9 +2081,9 @@ type AnalyticsContextValue = {
2046
2081
  /** A function to subscribe to analytics events. */
2047
2082
  subscribe: typeof subscribe;
2048
2083
  /** The privacy banner SDK methods with the config applied */
2049
- privacyBanner: PrivacyBanner$1 | null;
2084
+ privacyBanner: PrivacyBanner | null;
2050
2085
  /** The customer privacy SDK methods with the config applied */
2051
- customerPrivacy: CustomerPrivacy$1 | null;
2086
+ customerPrivacy: CustomerPrivacy | null;
2052
2087
  };
2053
2088
  declare function subscribe(event: typeof AnalyticsEvent.PAGE_VIEWED, callback: (payload: PageViewPayload) => void): void;
2054
2089
  declare function subscribe(event: typeof AnalyticsEvent.PRODUCT_VIEWED, callback: (payload: ProductViewPayload) => void): void;
@@ -2068,6 +2103,7 @@ declare function publish(event: typeof AnalyticsEvent.PRODUCT_ADD_TO_CART, paylo
2068
2103
  declare function publish(event: typeof AnalyticsEvent.PRODUCT_REMOVED_FROM_CART, payload: CartLineUpdatePayload): void;
2069
2104
  declare function publish(event: typeof AnalyticsEvent.CUSTOM_EVENT, payload: OtherData): void;
2070
2105
  declare function AnalyticsProvider({ canTrack: customCanTrack, cart: currentCart, children, consent, customData, shop: shopProp, cookieDomain, }: AnalyticsProviderProps): JSX.Element;
2106
+ /** @publicDocs */
2071
2107
  declare function useAnalytics(): AnalyticsContextValue;
2072
2108
  type ShopAnalyticsProps = {
2073
2109
  /**
@@ -2079,6 +2115,7 @@ type ShopAnalyticsProps = {
2079
2115
  */
2080
2116
  publicStorefrontId: string;
2081
2117
  };
2118
+ /** @publicDocs */
2082
2119
  declare function getShopAnalytics({ storefront, publicStorefrontId, }: ShopAnalyticsProps): Promise<ShopAnalytics | null>;
2083
2120
  declare const Analytics: {
2084
2121
  CartView: typeof AnalyticsCartView;
@@ -2139,6 +2176,7 @@ type WithCache = {
2139
2176
  response: Response;
2140
2177
  }>;
2141
2178
  };
2179
+ /** @publicDocs */
2142
2180
  declare function createWithCache(cacheOptions: CreateWithCacheOptions): WithCache;
2143
2181
 
2144
2182
  /**
@@ -2146,6 +2184,7 @@ declare function createWithCache(cacheOptions: CreateWithCacheOptions): WithCach
2146
2184
  * It only supports the `cache-control` header.
2147
2185
  * It does NOT support `age` or `expires` headers.
2148
2186
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Cache
2187
+ * @publicDocs
2149
2188
  */
2150
2189
  declare class InMemoryCache implements Cache {
2151
2190
  #private;
@@ -2408,6 +2447,7 @@ type CartFormCommonProps = {
2408
2447
  type CartActionInputProps = CartAttributesUpdateProps | CartBuyerIdentityUpdateProps | CartCreateProps | CartDiscountCodesUpdateProps | CartGiftCardCodesUpdateProps | CartGiftCardCodesAddProps | CartGiftCardCodesRemoveProps | CartLinesAddProps | CartLinesUpdateProps | CartLinesRemoveProps | CartNoteUpdateProps | CartSelectedDeliveryOptionsUpdateProps | CartMetafieldsSetProps | CartMetafieldDeleteProps | CartDeliveryAddressesAddProps | CartDeliveryAddressesRemoveProps | CartDeliveryAddressesUpdateProps | CartDeliveryAddressesReplaceProps | CartCustomProps;
2409
2448
  type CartActionInput = CartAttributesUpdateRequire | CartBuyerIdentityUpdateRequire | CartCreateRequire | CartDiscountCodesUpdateRequire | CartGiftCardCodesUpdateRequire | CartGiftCardCodesAddRequire | CartGiftCardCodesRemoveRequire | CartLinesAddRequire | CartLinesUpdateRequire | CartLinesRemoveRequire | CartNoteUpdateRequire | CartSelectedDeliveryOptionsUpdateRequire | CartMetafieldsSetRequire | CartMetafieldDeleteRequire | CartDeliveryAddressesAddRequire | CartDeliveryAddressesRemoveRequire | CartDeliveryAddressesUpdateRequire | CartDeliveryAddressesReplaceRequire | CartCustomRequire;
2410
2449
  type CartFormProps = CartActionInputProps & CartFormCommonProps;
2450
+ /** @publicDocs */
2411
2451
  declare function CartForm({ children, action, inputs, route, fetcherKey, }: CartFormProps): JSX.Element;
2412
2452
  declare namespace CartForm {
2413
2453
  var INPUT_NAME: string;
@@ -2434,6 +2474,7 @@ declare namespace CartForm {
2434
2474
  var getFormInput: (formData: FormData) => CartActionInput;
2435
2475
  }
2436
2476
 
2477
+ /** @publicDocs */
2437
2478
  declare const cartGetIdDefault: (requestHeaders: CrossRuntimeRequest["headers"]) => () => string | undefined;
2438
2479
 
2439
2480
  type CookieOptions = {
@@ -2445,6 +2486,7 @@ type CookieOptions = {
2445
2486
  domain?: string;
2446
2487
  path?: string;
2447
2488
  };
2489
+ /** @publicDocs */
2448
2490
  declare const cartSetIdDefault: (cookieOptions?: CookieOptions) => (cartId: string) => Headers;
2449
2491
 
2450
2492
  type LikeACart = {
@@ -2475,6 +2517,7 @@ type OptimisticCart<T = CartReturn> = T extends undefined | null ? // This is th
2475
2517
  * @param cart The cart object from `context.cart.get()` returned by a server loader.
2476
2518
  *
2477
2519
  * @returns A new cart object augmented with optimistic state for `lines` and `totalQuantity`. Each cart line item that is optimistically added includes an `isOptimistic` property. Also if the cart has _any_ optimistic state, a root property `isOptimistic` will be set to `true`.
2520
+ * @publicDocs
2478
2521
  */
2479
2522
  declare function useOptimisticCart<DefaultCart = {
2480
2523
  lines?: {
@@ -2510,6 +2553,7 @@ declare function changelogHandler({ request, changelogUrl, }: {
2510
2553
  * const cart = context.get(hydrogenContext.cart);
2511
2554
  * }
2512
2555
  * ```
2556
+ * @publicDocs
2513
2557
  */
2514
2558
  declare const hydrogenContext: {
2515
2559
  readonly storefront: react_router.RouterContext<Storefront<I18nBase>>;
@@ -2590,6 +2634,7 @@ interface HydrogenContext<TSession extends HydrogenSession = HydrogenSession, TC
2590
2634
  /** Any cookie implementation. By default Hydrogen ships with cookie session storage, but you can use [another session storage](https://remix.run/docs/en/main/utils/sessions) implementation. */
2591
2635
  session: TSession;
2592
2636
  }
2637
+ /** @publicDocs */
2593
2638
  declare function createHydrogenContext<TSession extends HydrogenSession, TCustomMethods extends CustomMethodsBase | undefined = {}, TI18n extends I18nBase = I18nBase, TEnv extends HydrogenEnv = Env, TAdditionalContext extends Record<string, any> = {}>(options: HydrogenContextOptions<TSession, TCustomMethods, TI18n, TEnv>, additionalContext?: TAdditionalContext): HydrogenRouterContextProvider<TSession, TCustomMethods, TI18n, TEnv> & TAdditionalContext;
2594
2639
 
2595
2640
  type CreateRequestHandlerOptions<Context = unknown> = {
@@ -2615,20 +2660,15 @@ type CreateRequestHandlerOptions<Context = unknown> = {
2615
2660
  * @default true
2616
2661
  */
2617
2662
  collectTrackingInformation?: boolean;
2618
- /**
2619
- * Whether to proxy standard routes such as `/api/.../graphql.json` (Storefront API).
2620
- * You can disable this if you are handling these routes yourself. Ensure that
2621
- * the proxy works if you rely on Hydrogen's built-in behaviors such as analytics.
2622
- * @default true
2623
- */
2624
- proxyStandardRoutes?: boolean;
2625
2663
  };
2626
2664
  /**
2627
2665
  * Creates a request handler for Hydrogen apps using React Router.
2666
+ * @publicDocs
2628
2667
  */
2629
- declare function createRequestHandler<Context = unknown>({ build, mode, poweredByHeader, getLoadContext, collectTrackingInformation, proxyStandardRoutes, }: CreateRequestHandlerOptions<Context>): (request: Request) => Promise<Response>;
2668
+ declare function createRequestHandler<Context = unknown>({ build, mode, poweredByHeader, getLoadContext, collectTrackingInformation, }: CreateRequestHandlerOptions<Context>): (request: Request) => Promise<Response>;
2630
2669
 
2631
2670
  declare const NonceProvider: react.Provider<string | undefined>;
2671
+ /** @publicDocs */
2632
2672
  declare const useNonce: () => string | undefined;
2633
2673
  type ContentSecurityPolicy = {
2634
2674
  /** A randomly generated nonce string that should be passed to any custom `script` element */
@@ -2678,6 +2718,7 @@ type ShopProp = {
2678
2718
  };
2679
2719
  /**
2680
2720
  * @param directives - Pass custom [content security policy directives](https://content-security-policy.com/). This is important if you load content in your app from third-party domains.
2721
+ * @publicDocs
2681
2722
  */
2682
2723
  declare function createContentSecurityPolicy(props?: CreateContentSecurityPolicy & ShopProp): ContentSecurityPolicy;
2683
2724
 
@@ -2687,12 +2728,15 @@ interface HydrogenScriptProps {
2687
2728
  }
2688
2729
  interface ScriptAttributes extends ScriptHTMLAttributes<HTMLScriptElement> {
2689
2730
  }
2731
+ /** @publicDocs */
2690
2732
  declare const Script: react.ForwardRefExoticComponent<HydrogenScriptProps & ScriptAttributes & react.RefAttributes<HTMLScriptElement>>;
2691
2733
 
2734
+ /** @publicDocs */
2692
2735
  declare function createCustomerAccountClient({ session, customerAccountId, shopId, customerApiVersion, request, waitUntil, authUrl, customAuthStatusHandler, logErrors, loginPath, authorizePath, defaultRedirectPath, language, useCustomAuthDomain, }: CustomerAccountOptions): CustomerAccount;
2693
2736
 
2694
2737
  declare function hydrogenRoutes(currentRoutes: Array<RouteConfigEntry>): Promise<Array<RouteConfigEntry>>;
2695
2738
 
2739
+ /** @publicDocs */
2696
2740
  declare function useOptimisticData<T>(identifier: string): T;
2697
2741
  type OptimisticInputProps = {
2698
2742
  /**
@@ -2706,6 +2750,7 @@ type OptimisticInputProps = {
2706
2750
  */
2707
2751
  data: Record<string, unknown>;
2708
2752
  };
2753
+ /** @publicDocs */
2709
2754
  declare function OptimisticInput({ id, data }: OptimisticInputProps): react_jsx_runtime.JSX.Element;
2710
2755
 
2711
2756
  declare global {
@@ -2765,6 +2810,7 @@ type PaginationRenderProp<NodesType> = FC<PaginationInfo<NodesType>>;
2765
2810
  *
2766
2811
  * @prop connection The response from `storefront.query` for a paginated request. Make sure the query is passed pagination variables and that the query has `pageInfo` with `hasPreviousPage`, `hasNextpage`, `startCursor`, and `endCursor` defined.
2767
2812
  * @prop children A render prop that includes pagination data and helpers.
2813
+ * @publicDocs
2768
2814
  */
2769
2815
  declare function Pagination<NodesType>({ connection, children, namespace, }: PaginationProps<NodesType>): ReturnType<FC>;
2770
2816
  /**
@@ -2772,6 +2818,7 @@ declare function Pagination<NodesType>({ connection, children, namespace, }: Pag
2772
2818
  * @param options Options for how to configure the pagination variables. Includes the ability to change how many nodes are within each page as well as a namespace to avoid URL param conflicts when using multiple `Pagination` components on a single page.
2773
2819
  *
2774
2820
  * @returns Variables to be used with the `storefront.query` function
2821
+ * @publicDocs
2775
2822
  */
2776
2823
  declare function getPaginationVariables(request: Request, options?: {
2777
2824
  pageBy: number;
@@ -2793,6 +2840,7 @@ type OptimisticProductVariants = Array<PartialDeep<ProductVariant>> | Promise<Ar
2793
2840
  * @param selectedVariant The `selectedVariant` field queried with `variantBySelectedOptions`.
2794
2841
  * @param variants The available product variants for the product. This can be an array of variants, a promise that resolves to an array of variants, or an object with a `product` key that contains the variants.
2795
2842
  * @returns A new product object where the `selectedVariant` property is set to the variant that matches the current URL search params. If no variant is found, the original product object is returned. The `isOptimistic` property is set to `true` if the `selectedVariant` has been optimistically changed.
2843
+ * @publicDocs
2796
2844
  */
2797
2845
  declare function useOptimisticVariant<SelectedVariant = OptimisticVariantInput, Variants = OptimisticProductVariants>(selectedVariant: SelectedVariant, variants: Variants): OptimisticVariant<SelectedVariant>;
2798
2846
 
@@ -2827,9 +2875,9 @@ type VariantOptionValue = {
2827
2875
  type VariantSelectorProps = {
2828
2876
  /** The product handle for all of the variants */
2829
2877
  handle: string;
2830
- /** Product options from the [Storefront API](/docs/api/storefront/2026-01/objects/ProductOption). Make sure both `name` and `values` are a part of your query. */
2878
+ /** Product options from the [Storefront API](/docs/api/storefront/2026-04/objects/ProductOption). Make sure both `name` and `values` are a part of your query. */
2831
2879
  options: Array<PartialProductOption> | undefined;
2832
- /** Product variants from the [Storefront API](/docs/api/storefront/2026-01/objects/ProductVariant). You only need to pass this prop if you want to show product availability. If a product option combination is not found within `variants`, it is assumed to be available. Make sure to include `availableForSale` and `selectedOptions.name` and `selectedOptions.value`. */
2880
+ /** Product variants from the [Storefront API](/docs/api/storefront/2026-04/objects/ProductVariant). You only need to pass this prop if you want to show product availability. If a product option combination is not found within `variants`, it is assumed to be available. Make sure to include `availableForSale` and `selectedOptions.name` and `selectedOptions.value`. */
2833
2881
  variants?: PartialDeep<ProductVariantConnection> | Array<PartialDeep<ProductVariant>>;
2834
2882
  /** By default all products are under /products. Use this prop to provide a custom path. */
2835
2883
  productPath?: string;
@@ -2848,10 +2896,12 @@ type VariantSelectorProps = {
2848
2896
  * [getAdjacentAndFirstAvailableVariants](https://shopify.dev/docs/api/hydrogen/latest/utilities/getadjacentandfirstavailablevariants) utils instead.
2849
2897
  * and [useSelectedOptionInUrlParam](https://shopify.dev/docs/api/hydrogen/latest/utilities/useselectedoptioninurlparam)
2850
2898
  * For a full implementation see the Skeleton template [routes/product.$handle.tsx](https://github.com/Shopify/hydrogen/blob/main/templates/skeleton/app/routes/products.%24handle.tsx).
2899
+ * @publicDocs
2851
2900
  */
2852
2901
  declare function VariantSelector({ handle, options: _options, variants: _variants, productPath, waitForNavigation, selectedVariant, children, }: VariantSelectorProps): react.FunctionComponentElement<{
2853
2902
  children?: ReactNode | undefined;
2854
2903
  }>;
2904
+ /** @publicDocs */
2855
2905
  type GetSelectedProductOptions = (request: Request) => SelectedOptionInput[];
2856
2906
  /**
2857
2907
  * Extract searchParams from a Request instance and return an array of selected options.
@@ -2872,6 +2922,7 @@ type GetSelectedProductOptions = (request: Request) => SelectedOptionInput[];
2872
2922
  * // {name: 'size', value: 'large'}
2873
2923
  * // ]
2874
2924
  * ```
2925
+ * @publicDocs
2875
2926
  **/
2876
2927
  declare const getSelectedProductOptions: GetSelectedProductOptions;
2877
2928
 
@@ -2919,7 +2970,9 @@ declare function hydrogenPreset(): Preset;
2919
2970
 
2920
2971
  declare const RichText: typeof RichText$1;
2921
2972
 
2973
+ /** @publicDocs */
2922
2974
  type GraphiQLLoader = (args: LoaderFunctionArgs) => Promise<Response>;
2975
+ /** @publicDocs */
2923
2976
  declare const graphiqlLoader: GraphiQLLoader;
2924
2977
 
2925
2978
  type StorefrontRedirect = {
@@ -2941,6 +2994,7 @@ type StorefrontRedirect = {
2941
2994
  * conditionally redirecting after a 404 response.
2942
2995
  *
2943
2996
  * @see {@link https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect Creating URL redirects in Shopify}
2997
+ * @publicDocs
2944
2998
  */
2945
2999
  declare function storefrontRedirect(options: StorefrontRedirect): Promise<Response>;
2946
3000
 
@@ -3212,6 +3266,7 @@ type GetSeoMetaReturn = ReturnType<MetaFunction>;
3212
3266
  type Optional<T> = T | null | undefined;
3213
3267
  /**
3214
3268
  * Generate a Remix meta array from one or more SEO configuration objects. This is useful to pass SEO configuration for the parent route(s) and the current route. Similar to `Object.assign()`, each property is overwritten based on the object order. The exception is `jsonLd`, which is preserved so that each route has it's own independent jsonLd meta data.
3269
+ * @publicDocs
3215
3270
  */
3216
3271
  declare function getSeoMeta(...seoInputs: Optional<SeoConfig>[]): GetSeoMetaReturn;
3217
3272
 
@@ -3232,6 +3287,7 @@ interface SeoProps {
3232
3287
  }
3233
3288
  /**
3234
3289
  * @deprecated - use `getSeoMeta` instead
3290
+ * @publicDocs
3235
3291
  */
3236
3292
  declare function Seo({ debug }: SeoProps): react.FunctionComponentElement<{
3237
3293
  children?: react.ReactNode | undefined;
@@ -3252,6 +3308,7 @@ interface SitemapIndexOptions {
3252
3308
  }
3253
3309
  /**
3254
3310
  * Generate a sitemap index that links to separate sitemaps for each resource type. Returns a standard Response object.
3311
+ * @publicDocs
3255
3312
  */
3256
3313
  declare function getSitemapIndex(options: SitemapIndexOptions): Promise<Response>;
3257
3314
  interface GetSiteMapOptions {
@@ -3280,7 +3337,8 @@ interface GetSiteMapOptions {
3280
3337
  }
3281
3338
  /**
3282
3339
  * Generate a sitemap for a specific resource type.
3340
+ * @publicDocs
3283
3341
  */
3284
3342
  declare function getSitemap(options: GetSiteMapOptions): Promise<Response>;
3285
3343
 
3286
- export { Analytics, AnalyticsEvent, CacheCustom, type CacheKey, CacheLong, CacheNone, CacheShort, type CachingStrategy, type CartActionInput, CartForm, type CartLineUpdatePayload, type CartQueryDataReturn, type CartQueryOptions, type CartQueryReturn, type CartReturn, type CartUpdatePayload, type CartViewPayload, type CollectionViewPayload, type ConsentStatus, type CookieOptions, type CreateStorefrontClientForDocs, type CreateStorefrontClientOptions, type CustomEventMap$1 as CustomEventMap, type CustomerAccount, type CustomerAccountMutations, type CustomerAccountQueries, type CustomerPrivacy$1 as CustomerPrivacy, type CustomerPrivacyApiProps, type CustomerPrivacyConsentConfig, type HydrogenCart, type HydrogenCartCustom, type HydrogenContext, type HydrogenEnv, type HydrogenRouterContextProvider, type HydrogenSession, type HydrogenSessionData, type I18nBase, InMemoryCache, type MetafieldWithoutOwnerId, type NoStoreStrategy, NonceProvider, type OptimisticCart, type OptimisticCartLine, type OptimisticCartLineInput, OptimisticInput, type PageViewPayload, Pagination, type PrivacyBanner$1 as PrivacyBanner, type ProductViewPayload, RichText, Script, type SearchViewPayload, Seo, type SeoConfig, type SeoHandleFunction, type SetConsentHeadlessParams, type ShopAnalytics, ShopPayButton, type Storefront, type StorefrontApiErrors, type StorefrontClient, type StorefrontForDoc, type StorefrontMutationOptionsForDocs, type StorefrontMutations, type StorefrontQueries, type StorefrontQueryOptionsForDocs, type VariantOption, type VariantOptionValue, VariantSelector, type VisitorConsent, type VisitorConsentCollected, type WithCache, cartAttributesUpdateDefault, cartBuyerIdentityUpdateDefault, cartCreateDefault, cartDiscountCodesUpdateDefault, cartGetDefault, cartGetIdDefault, cartGiftCardCodesAddDefault, cartGiftCardCodesRemoveDefault, cartGiftCardCodesUpdateDefault, cartLinesAddDefault, cartLinesRemoveDefault, cartLinesUpdateDefault, cartMetafieldDeleteDefault, cartMetafieldsSetDefault, cartNoteUpdateDefault, cartSelectedDeliveryOptionsUpdateDefault, cartSetIdDefault, changelogHandler, createCartHandler, createContentSecurityPolicy, createCustomerAccountClient, createHydrogenContext, createRequestHandler, createStorefrontClient, createWithCache, formatAPIResult, generateCacheControlHeader, getPaginationVariables, getSelectedProductOptions, getSeoMeta, getShopAnalytics, getSitemap, getSitemapIndex, graphiqlLoader, hydrogenContext, hydrogenPreset, hydrogenRoutes, storefrontRedirect, useAnalytics, useCustomerPrivacy, useNonce, useOptimisticCart, useOptimisticData, useOptimisticVariant };
3344
+ export { Analytics, AnalyticsEvent, CacheCustom, type CacheKey, CacheLong, CacheNone, CacheShort, type CachingStrategy, type CartActionInput, CartForm, type CartLineUpdatePayload, type CartQueryDataReturn, type CartQueryOptions, type CartQueryReturn, type CartReturn, type CartUpdatePayload, type CartViewPayload, type CollectionViewPayload, type ConsentStatus, type CookieOptions, type CreateStorefrontClientForDocs, type CreateStorefrontClientOptions, type CustomEventMap$1 as CustomEventMap, type CustomerAccount, type CustomerAccountMutations, type CustomerAccountQueries, type CustomerPrivacy, type CustomerPrivacyApiProps, type CustomerPrivacyConsentConfig, type HydrogenCart, type HydrogenCartCustom, type HydrogenContext, type HydrogenEnv, type HydrogenRouterContextProvider, type HydrogenSession, type HydrogenSessionData, type I18nBase, InMemoryCache, type MetafieldWithoutOwnerId, type NoStoreStrategy, NonceProvider, type OptimisticCart, type OptimisticCartLine, type OptimisticCartLineInput, OptimisticInput, type PageViewPayload, Pagination, type PrivacyBanner, type ProductViewPayload, RichText, Script, type SearchViewPayload, Seo, type SeoConfig, type SeoHandleFunction, type SetConsentHeadlessParams, type ShopAnalytics, ShopPayButton, type Storefront, type StorefrontApiErrors, type StorefrontClient, type StorefrontForDoc, type StorefrontMutationOptionsForDocs, type StorefrontMutations, type StorefrontQueries, type StorefrontQueryOptionsForDocs, type VariantOption, type VariantOptionValue, VariantSelector, type VisitorConsent, type VisitorConsentCollected, type WithCache, cartAttributesUpdateDefault, cartBuyerIdentityUpdateDefault, cartCreateDefault, cartDiscountCodesUpdateDefault, cartGetDefault, cartGetIdDefault, cartGiftCardCodesAddDefault, cartGiftCardCodesRemoveDefault, cartGiftCardCodesUpdateDefault, cartLinesAddDefault, cartLinesRemoveDefault, cartLinesUpdateDefault, cartMetafieldDeleteDefault, cartMetafieldsSetDefault, cartNoteUpdateDefault, cartSelectedDeliveryOptionsUpdateDefault, cartSetIdDefault, changelogHandler, createCartHandler, createContentSecurityPolicy, createCustomerAccountClient, createHydrogenContext, createRequestHandler, createStorefrontClient, createWithCache, formatAPIResult, generateCacheControlHeader, getPaginationVariables, getSelectedProductOptions, getSeoMeta, getShopAnalytics, getSitemap, getSitemapIndex, graphiqlLoader, hydrogenContext, hydrogenPreset, hydrogenRoutes, storefrontRedirect, useAnalytics, useCustomerPrivacy, useNonce, useOptimisticCart, useOptimisticData, useOptimisticVariant };