@ehrenkind/shopify-lib 0.7.5 → 0.8.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/index.d.ts CHANGED
@@ -38,144 +38,6 @@ declare function deleteFilesByIds(fileIds: string[], retries?: number): Promise<
38
38
  */
39
39
  declare function createFile(url: string, altText: string, filename: string, retries?: number): Promise<string>;
40
40
 
41
- type MetaobjectFieldDefinition$1 = {
42
- key: string;
43
- name?: string;
44
- type: string;
45
- description?: string;
46
- required?: boolean;
47
- validations?: Array<{
48
- name: string;
49
- value: string;
50
- }>;
51
- };
52
- type CreateMetaobjectDefinitionInput = {
53
- type: string;
54
- name?: string;
55
- description?: string;
56
- displayNameKey?: string;
57
- fieldDefinitions: MetaobjectFieldDefinition$1[];
58
- };
59
- type CreateMetaobjectDefinitionResult = {
60
- id: string;
61
- name: string;
62
- type: string;
63
- };
64
- /**
65
- * Creates a metaobject definition in Shopify.
66
- *
67
- * @param input - The metaobject definition input
68
- * @param retries - Number of retries on transient errors. Defaults to 0; not retried by default to avoid duplicate definition creation.
69
- * @returns Promise resolving to the created metaobject definition
70
- * @throws {ShopifyUserError} When the mutation fails
71
- * @throws {Error} When GraphQL errors occur
72
- *
73
- * @example
74
- * await createMetaobjectDefinition({
75
- * type: 'my_custom_type',
76
- * name: 'My Custom Type',
77
- * description: 'A custom metaobject definition',
78
- * fieldDefinitions: [
79
- * { key: 'title', name: 'Title', type: 'single_line_text_field' },
80
- * { key: 'description', name: 'Description', type: 'multi_line_text_field' },
81
- * ],
82
- * })
83
- */
84
- declare function createMetaobjectDefinition(input: CreateMetaobjectDefinitionInput, retries?: number): Promise<CreateMetaobjectDefinitionResult>;
85
-
86
- type FulfillmentLineItem$1 = {
87
- id: number | bigint | string;
88
- quantity: number;
89
- };
90
- type CreateFulfillmentResult = {
91
- id: string;
92
- status: string;
93
- trackingInfo: {
94
- company: string | null;
95
- number: string | null;
96
- }[];
97
- };
98
- /**
99
- * Creates a fulfillment for a fulfillment order with optional tracking info.
100
- *
101
- * @param fulfillmentOrderId - The fulfillment order ID (numeric, bigint, or GID string)
102
- * @param fulfillmentOrderLineItems - Line items to fulfill with their quantities
103
- * @param options - Optional tracking and notification settings
104
- * @param retries - Number of retries on transient errors. Defaults to 0; fulfillmentCreate is not idempotent — a retry after a successful-but-lost response would create a duplicate fulfillment, double-decrement inventory, and may trigger duplicate customer emails.
105
- * @returns Promise resolving to the created fulfillment
106
- * @throws {ShopifyUserError} When the mutation fails
107
- * @throws {Error} When GraphQL errors occur
108
- *
109
- * @example
110
- * // Fulfill specific line items without tracking
111
- * await createFulfillment(123456789, [{ id: 111, quantity: 2 }])
112
- *
113
- * // Fulfill all items without tracking
114
- * await createFulfillment(123456789, [])
115
- *
116
- * // Fulfill with tracking info
117
- * await createFulfillment(
118
- * 123456789,
119
- * [{ id: 111, quantity: 2 }],
120
- * { trackingNumber: 'TRACK123', carrier: 'DHL', notifyCustomer: true }
121
- * )
122
- */
123
- declare function createFulfillment(fulfillmentOrderId: number | bigint | string, fulfillmentOrderLineItems: FulfillmentLineItem$1[], options?: {
124
- trackingNumber?: string;
125
- carrier?: string;
126
- trackingUrl?: string;
127
- notifyCustomer?: boolean;
128
- }, retries?: number): Promise<CreateFulfillmentResult>;
129
-
130
- type UpdateFulfillmentTrackingResult = {
131
- trackingNumbers: string[];
132
- trackingCompany: string | null;
133
- };
134
- /**
135
- * Adds a tracking number to an existing fulfillment.
136
- * Fetches existing tracking info and appends the new tracking number.
137
- *
138
- * @param fulfillmentId - The fulfillment ID (numeric, bigint, or GID string)
139
- * @param trackingNumber - The new tracking number to add
140
- * @param notifyCustomer - Whether to notify the customer (default: false)
141
- * @param retries - Number of retries on transient errors. Defaults to 1.
142
- * @returns Promise resolving to the updated tracking info
143
- * @throws {ShopifyUserError} When the mutation fails
144
- * @throws {Error} When fulfillment not found or GraphQL errors occur
145
- *
146
- * @example
147
- * // Add tracking to fulfillment, don't notify customer yet
148
- * await updateFulfillmentTracking(123456789, 'TRACK123')
149
- *
150
- * // Add tracking and notify customer (e.g., last item in order)
151
- * await updateFulfillmentTracking(123456789, 'TRACK456', true)
152
- */
153
- declare function updateFulfillmentTracking(fulfillmentId: number | bigint | string, trackingNumber: string, notifyCustomer?: boolean, retries?: number): Promise<UpdateFulfillmentTrackingResult>;
154
-
155
- /**
156
- * Cancel an order in Shopify.
157
- *
158
- * @param orderId - The order ID (numeric, bigint, or GID string)
159
- * @param retries - Number of retries on transient errors. Defaults to 0; this is a destructive mutation and is not retried by default to avoid duplicate cancellations.
160
- * @returns Promise resolving to true on success
161
- * @throws {ShopifyUserError} When cancellation fails (e.g., ORDER_ALREADY_CANCELLED)
162
- *
163
- * @example
164
- * // Success case
165
- * await cancelOrderById(12345678901234)
166
- *
167
- * // Error handling
168
- * import { ShopifyUserError } from '@ehrenkind/shopify-lib'
169
- * try {
170
- * await cancelOrderById(orderId)
171
- * } catch (error) {
172
- * if (error instanceof ShopifyUserError) {
173
- * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')
174
- * }
175
- * }
176
- */
177
- declare function cancelOrderById(orderId: number | bigint | string, retries?: number): Promise<boolean>;
178
-
179
41
  type Maybe<T> = T | null;
180
42
  type InputMaybe<T> = Maybe<T>;
181
43
  type Exact<T extends {
@@ -379,7 +241,7 @@ type App = Node & {
379
241
  installUrl?: Maybe<Scalars['URL']['output']>;
380
242
  /**
381
243
  * Corresponding AppInstallation for this shop and App.
382
- * Returns null if the App is not installed.
244
+ * Returns null if the App isn't installed.
383
245
  */
384
246
  installation?: Maybe<AppInstallation>;
385
247
  /** Whether the app is the [post purchase](https://shopify.dev/apps/checkout/post-purchase) app in use. */
@@ -437,7 +299,7 @@ type AppConnection = {
437
299
  /** A list of nodes that are contained in AppEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
438
300
  nodes: Array<App>;
439
301
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
440
- pageInfo: PageInfo;
302
+ pageInfo: PageInfo$1;
441
303
  };
442
304
  /**
443
305
  * Represents monetary credits that merchants can apply toward future app purchases, subscriptions, or usage-based billing within their Shopify store. App credits provide a flexible way to offer refunds, promotional credits, or compensation without processing external payments.
@@ -474,7 +336,7 @@ type AppCreditConnection = {
474
336
  /** A list of nodes that are contained in AppCreditEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
475
337
  nodes: Array<AppCredit>;
476
338
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
477
- pageInfo: PageInfo;
339
+ pageInfo: PageInfo$1;
478
340
  };
479
341
  /** An auto-generated type which holds one AppCredit and a cursor during pagination. */
480
342
  type AppCreditEdge = {
@@ -726,7 +588,7 @@ type AppPurchaseOneTimeConnection = {
726
588
  /** A list of nodes that are contained in AppPurchaseOneTimeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
727
589
  nodes: Array<AppPurchaseOneTime>;
728
590
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
729
- pageInfo: PageInfo;
591
+ pageInfo: PageInfo$1;
730
592
  };
731
593
  /** An auto-generated type which holds one AppPurchaseOneTime and a cursor during pagination. */
732
594
  type AppPurchaseOneTimeEdge = {
@@ -824,7 +686,7 @@ type AppRevenueAttributionRecordConnection = {
824
686
  /** A list of nodes that are contained in AppRevenueAttributionRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
825
687
  nodes: Array<AppRevenueAttributionRecord>;
826
688
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
827
- pageInfo: PageInfo;
689
+ pageInfo: PageInfo$1;
828
690
  };
829
691
  /** An auto-generated type which holds one AppRevenueAttributionRecord and a cursor during pagination. */
830
692
  type AppRevenueAttributionRecordEdge = {
@@ -883,7 +745,7 @@ type AppSubscriptionConnection = {
883
745
  /** A list of nodes that are contained in AppSubscriptionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
884
746
  nodes: Array<AppSubscription>;
885
747
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
886
- pageInfo: PageInfo;
748
+ pageInfo: PageInfo$1;
887
749
  };
888
750
  /** Discount applied to the recurring pricing portion of a subscription. */
889
751
  type AppSubscriptionDiscount = {
@@ -1021,7 +883,7 @@ type AppUsageRecordConnection = {
1021
883
  /** A list of nodes that are contained in AppUsageRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1022
884
  nodes: Array<AppUsageRecord>;
1023
885
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1024
- pageInfo: PageInfo;
886
+ pageInfo: PageInfo$1;
1025
887
  };
1026
888
  /** An auto-generated type which holds one AppUsageRecord and a cursor during pagination. */
1027
889
  type AppUsageRecordEdge = {
@@ -1133,7 +995,7 @@ type ArticleConnection = {
1133
995
  /** A list of nodes that are contained in ArticleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1134
996
  nodes: Array<Article>;
1135
997
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1136
- pageInfo: PageInfo;
998
+ pageInfo: PageInfo$1;
1137
999
  };
1138
1000
  /** An auto-generated type which holds one Article and a cursor during pagination. */
1139
1001
  type ArticleEdge = {
@@ -1159,6 +1021,25 @@ type Attribute = {
1159
1021
  /** The value of the attribute. For example, `"true"`. */
1160
1022
  value?: Maybe<Scalars['String']['output']>;
1161
1023
  };
1024
+ /** Automatic discount applications capture the intentions of a discount that was automatically applied. */
1025
+ type AutomaticDiscountApplication = DiscountApplication & {
1026
+ __typename?: 'AutomaticDiscountApplication';
1027
+ /** The method by which the discount's value is applied to its entitled items. */
1028
+ allocationMethod: DiscountApplicationAllocationMethod;
1029
+ /**
1030
+ * An ordered index that can be used to identify the discount application and indicate the precedence
1031
+ * of the discount application for calculations.
1032
+ */
1033
+ index: Scalars['Int']['output'];
1034
+ /** How the discount amount is distributed on the discounted lines. */
1035
+ targetSelection: DiscountApplicationTargetSelection;
1036
+ /** Whether the discount is applied on line items or shipping lines. */
1037
+ targetType: DiscountApplicationTargetType;
1038
+ /** The title of the discount application. */
1039
+ title: Scalars['String']['output'];
1040
+ /** The value of the discount application. */
1041
+ value: PricingValue;
1042
+ };
1162
1043
  /** Represents an object containing all information for channels available to a shop. */
1163
1044
  type AvailableChannelDefinitionsByChannel = {
1164
1045
  __typename?: 'AvailableChannelDefinitionsByChannel';
@@ -1508,7 +1389,7 @@ type CatalogConnection = {
1508
1389
  /** A list of nodes that are contained in CatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1509
1390
  nodes: Array<Catalog>;
1510
1391
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1511
- pageInfo: PageInfo;
1392
+ pageInfo: PageInfo$1;
1512
1393
  };
1513
1394
  /** A catalog csv operation represents a CSV file import. */
1514
1395
  type CatalogCsvOperation = Node & ResourceOperation & {
@@ -1596,12 +1477,12 @@ type ChannelConnection = {
1596
1477
  /** A list of nodes that are contained in ChannelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1597
1478
  nodes: Array<Channel>;
1598
1479
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1599
- pageInfo: PageInfo;
1480
+ pageInfo: PageInfo$1;
1600
1481
  };
1601
1482
  /**
1602
1483
  * A specific selling surface within a [sales channel](https://shopify.dev/docs/apps/build/sales-channels) platform. A channel definition identifies where products can be sold. Definitions can represent entire platforms (like Facebook or TikTok) or specific sales channels within those platforms, such as Instagram Shops, Instagram Shopping, or TikTok Live.
1603
1484
  *
1604
- * Each definition includes the parent [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel) name and subchannel name to indicate the selling surface hierarchy. The marketplace flag identifies whether this surface represents a marketplace channel such as shops on Facebook, Instagram, or Buy on Google.
1485
+ * Each definition includes the parent [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel) name and subchannel name to indicate the selling surface hierarchy.
1605
1486
  */
1606
1487
  type ChannelDefinition = Node & {
1607
1488
  __typename?: 'ChannelDefinition';
@@ -1654,11 +1535,6 @@ type ChannelInformation = Node & {
1654
1535
  * [online stores](https://shopify.dev/docs/apps/build/online-store),
1655
1536
  * [sales channels](https://shopify.dev/docs/apps/build/sales-channels), and marketing campaigns.
1656
1537
  *
1657
- * There are two types of collections:
1658
- *
1659
- * - **[Custom (manual) collections](https://help.shopify.com/manual/products/collections/manual-shopify-collection)**: You specify the products to include in a collection.
1660
- * - **[Smart (automated) collections](https://help.shopify.com/manual/products/collections/automated-collections)**: You define rules, and products matching those rules are automatically included in the collection.
1661
- *
1662
1538
  * The `Collection` object provides information to:
1663
1539
  *
1664
1540
  * - Organize products by category, season, or promotion.
@@ -1677,7 +1553,7 @@ type ChannelInformation = Node & {
1677
1553
  * for unique layouts. They also support advanced features like translated content, resource feedback,
1678
1554
  * and contextual publication for location-based catalogs.
1679
1555
  *
1680
- * Learn about [using metafields with smart collections](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities).
1556
+ * Learn about [using metafields with collection conditions](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities).
1681
1557
  */
1682
1558
  type Collection = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Node & Publishable & {
1683
1559
  __typename?: 'Collection';
@@ -1733,10 +1609,11 @@ type Collection = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPubli
1733
1609
  /** The number of products in the collection. */
1734
1610
  productsCount?: Maybe<Count>;
1735
1611
  /**
1736
- * The number of
1612
+ * The total number of
1737
1613
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
1738
- * that a resource is published to, without
1614
+ * that a resource is published to, including publications with
1739
1615
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
1616
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
1740
1617
  * @deprecated Use `resourcePublicationsCount` instead.
1741
1618
  */
1742
1619
  publicationCount: Scalars['Int']['output'];
@@ -1775,18 +1652,23 @@ type Collection = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPubli
1775
1652
  */
1776
1653
  resourcePublications: ResourcePublicationConnection;
1777
1654
  /**
1778
- * The number of
1655
+ * The total number of
1779
1656
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
1780
- * that a resource is published to, without
1657
+ * that a resource is published to, including publications with
1781
1658
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
1659
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
1782
1660
  */
1783
1661
  resourcePublicationsCount?: Maybe<Count>;
1784
1662
  /**
1785
1663
  * The list of resources that are either published or staged to be published to a
1786
1664
  * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).
1665
+ * By default, only publications to `APP` catalog types are returned.
1666
+ * For `Product` and `ProductVariant`, use the `catalogType` argument to retrieve
1667
+ * publications for other catalog types, such as `COMPANY_LOCATION` (B2B) or `MARKET`.
1668
+ * `Collection` only supports publications to `APP` catalog types.
1787
1669
  */
1788
1670
  resourcePublicationsV2: ResourcePublicationV2Connection;
1789
- /** For a smart (automated) collection, specifies the rules that determine whether a product is included. */
1671
+ /** Specifies the rules that determine whether a product is included. */
1790
1672
  ruleSet?: Maybe<CollectionRuleSet>;
1791
1673
  /** If the default SEO fields for page title and description have been modified, contains the modified information. */
1792
1674
  seo: Seo;
@@ -1826,7 +1708,7 @@ type CollectionConnection = {
1826
1708
  /** A list of nodes that are contained in CollectionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1827
1709
  nodes: Array<Collection>;
1828
1710
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1829
- pageInfo: PageInfo;
1711
+ pageInfo: PageInfo$1;
1830
1712
  };
1831
1713
  /** An auto-generated type which holds one Collection and a cursor during pagination. */
1832
1714
  type CollectionEdge = {
@@ -1880,7 +1762,7 @@ type CollectionPublicationConnection = {
1880
1762
  /** A list of nodes that are contained in CollectionPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
1881
1763
  nodes: Array<CollectionPublication>;
1882
1764
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
1883
- pageInfo: PageInfo;
1765
+ pageInfo: PageInfo$1;
1884
1766
  };
1885
1767
  /** An auto-generated type which holds one CollectionPublication and a cursor during pagination. */
1886
1768
  type CollectionPublicationEdge = {
@@ -1908,7 +1790,7 @@ type CollectionRuleCategoryCondition = {
1908
1790
  /** The taxonomy category used as condition. */
1909
1791
  value: TaxonomyCategory;
1910
1792
  };
1911
- /** Specifies the attribute of a product being used to populate the smart collection. */
1793
+ /** Specifies the attribute of a product being used to populate the collection. */
1912
1794
  declare enum CollectionRuleColumn {
1913
1795
  /**
1914
1796
  * An attribute evaluated based on the `compare_at_price` attribute of the product's variants.
@@ -1917,12 +1799,12 @@ declare enum CollectionRuleColumn {
1917
1799
  */
1918
1800
  IsPriceReduced = "IS_PRICE_REDUCED",
1919
1801
  /**
1920
- * This rule type is designed to dynamically include products in a smart collection based on their category id.
1802
+ * This rule type is designed to dynamically include products in a collection based on their category id.
1921
1803
  * When a specific product category is set as a condition, this rule will match products that are directly assigned to the specified category.
1922
1804
  */
1923
1805
  ProductCategoryId = "PRODUCT_CATEGORY_ID",
1924
1806
  /**
1925
- * This rule type is designed to dynamically include products in a smart collection based on their category id.
1807
+ * This rule type is designed to dynamically include products in a collection based on their category id.
1926
1808
  * When a specific product category is set as a condition, this rule will not only match products that are
1927
1809
  * directly assigned to the specified category but also include any products categorized under any descendant of that category.
1928
1810
  */
@@ -1954,7 +1836,7 @@ declare enum CollectionRuleColumn {
1954
1836
  }
1955
1837
  /** Specifies object for the condition of the rule. */
1956
1838
  type CollectionRuleConditionObject = CollectionRuleCategoryCondition | CollectionRuleMetafieldCondition | CollectionRuleProductCategoryCondition | CollectionRuleTextCondition;
1957
- /** Identifies a metafield definition used as a rule for the smart collection. */
1839
+ /** Identifies a metafield definition used as a rule for the collection. */
1958
1840
  type CollectionRuleMetafieldCondition = {
1959
1841
  __typename?: 'CollectionRuleMetafieldCondition';
1960
1842
  /** The metafield definition associated with the condition. */
@@ -2050,7 +1932,7 @@ type CombinedListingChildConnection = {
2050
1932
  /** A list of nodes that are contained in CombinedListingChildEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2051
1933
  nodes: Array<CombinedListingChild>;
2052
1934
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2053
- pageInfo: PageInfo;
1935
+ pageInfo: PageInfo$1;
2054
1936
  };
2055
1937
  /** An auto-generated type which holds one CombinedListingChild and a cursor during pagination. */
2056
1938
  type CombinedListingChildEdge = {
@@ -2122,7 +2004,7 @@ type CommentConnection = {
2122
2004
  /** A list of nodes that are contained in CommentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2123
2005
  nodes: Array<Comment>;
2124
2006
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2125
- pageInfo: PageInfo;
2007
+ pageInfo: PageInfo$1;
2126
2008
  };
2127
2009
  /** An auto-generated type which holds one Comment and a cursor during pagination. */
2128
2010
  type CommentEdge = {
@@ -2319,7 +2201,7 @@ type CompanyContactConnection = {
2319
2201
  /** A list of nodes that are contained in CompanyContactEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2320
2202
  nodes: Array<CompanyContact>;
2321
2203
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2322
- pageInfo: PageInfo;
2204
+ pageInfo: PageInfo$1;
2323
2205
  };
2324
2206
  /** An auto-generated type which holds one CompanyContact and a cursor during pagination. */
2325
2207
  type CompanyContactEdge = {
@@ -2334,10 +2216,7 @@ type CompanyContactRole = Node & {
2334
2216
  __typename?: 'CompanyContactRole';
2335
2217
  /** A globally-unique ID. */
2336
2218
  id: Scalars['ID']['output'];
2337
- /**
2338
- * The name of a role.
2339
- * For example, `admin` or `buyer`.
2340
- */
2219
+ /** The name of a role. For example, `admin` or `buyer`. */
2341
2220
  name: Scalars['String']['output'];
2342
2221
  /** A note for the role. */
2343
2222
  note?: Maybe<Scalars['String']['output']>;
@@ -2368,7 +2247,7 @@ type CompanyContactRoleAssignmentConnection = {
2368
2247
  /** A list of nodes that are contained in CompanyContactRoleAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2369
2248
  nodes: Array<CompanyContactRoleAssignment>;
2370
2249
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2371
- pageInfo: PageInfo;
2250
+ pageInfo: PageInfo$1;
2372
2251
  };
2373
2252
  /** An auto-generated type which holds one CompanyContactRoleAssignment and a cursor during pagination. */
2374
2253
  type CompanyContactRoleAssignmentEdge = {
@@ -2386,7 +2265,7 @@ type CompanyContactRoleConnection = {
2386
2265
  /** A list of nodes that are contained in CompanyContactRoleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2387
2266
  nodes: Array<CompanyContactRole>;
2388
2267
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2389
- pageInfo: PageInfo;
2268
+ pageInfo: PageInfo$1;
2390
2269
  };
2391
2270
  /** An auto-generated type which holds one CompanyContactRole and a cursor during pagination. */
2392
2271
  type CompanyContactRoleEdge = {
@@ -2500,7 +2379,7 @@ type CompanyLocationConnection = {
2500
2379
  /** A list of nodes that are contained in CompanyLocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2501
2380
  nodes: Array<CompanyLocation>;
2502
2381
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2503
- pageInfo: PageInfo;
2382
+ pageInfo: PageInfo$1;
2504
2383
  };
2505
2384
  /** An auto-generated type which holds one CompanyLocation and a cursor during pagination. */
2506
2385
  type CompanyLocationEdge = {
@@ -2528,7 +2407,7 @@ type CompanyLocationStaffMemberAssignmentConnection = {
2528
2407
  /** A list of nodes that are contained in CompanyLocationStaffMemberAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
2529
2408
  nodes: Array<CompanyLocationStaffMemberAssignment>;
2530
2409
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
2531
- pageInfo: PageInfo;
2410
+ pageInfo: PageInfo$1;
2532
2411
  };
2533
2412
  /** An auto-generated type which holds one CompanyLocationStaffMemberAssignment and a cursor during pagination. */
2534
2413
  type CompanyLocationStaffMemberAssignmentEdge = {
@@ -3093,7 +2972,7 @@ type CountryHarmonizedSystemCodeConnection = {
3093
2972
  /** A list of nodes that are contained in CountryHarmonizedSystemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
3094
2973
  nodes: Array<CountryHarmonizedSystemCode>;
3095
2974
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
3096
- pageInfo: PageInfo;
2975
+ pageInfo: PageInfo$1;
3097
2976
  };
3098
2977
  /** An auto-generated type which holds one CountryHarmonizedSystemCode and a cursor during pagination. */
3099
2978
  type CountryHarmonizedSystemCodeEdge = {
@@ -3496,7 +3375,7 @@ type CurrencySettingConnection = {
3496
3375
  /** A list of nodes that are contained in CurrencySettingEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
3497
3376
  nodes: Array<CurrencySetting>;
3498
3377
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
3499
- pageInfo: PageInfo;
3378
+ pageInfo: PageInfo$1;
3500
3379
  };
3501
3380
  /** An auto-generated type which holds one CurrencySetting and a cursor during pagination. */
3502
3381
  type CurrencySettingEdge = {
@@ -3701,7 +3580,7 @@ type CustomerConnection = {
3701
3580
  /** A list of nodes that are contained in CustomerEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
3702
3581
  nodes: Array<Customer$1>;
3703
3582
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
3704
- pageInfo: PageInfo;
3583
+ pageInfo: PageInfo$1;
3705
3584
  };
3706
3585
  /** The source that collected the customer's consent to receive marketing materials. */
3707
3586
  declare enum CustomerConsentCollectedFrom {
@@ -3849,6 +3728,23 @@ declare enum CustomerEmailAddressOpenTrackingLevel {
3849
3728
  /** The customer has not specified whether they want to opt in or out of having their open emails tracked. */
3850
3729
  Unknown = "UNKNOWN"
3851
3730
  }
3731
+ /**
3732
+ * Information that describes when a customer consented to
3733
+ * receiving marketing material by email.
3734
+ */
3735
+ type CustomerEmailMarketingConsentInput = {
3736
+ /**
3737
+ * The latest date and time when the customer consented or objected to
3738
+ * receiving marketing material by email.
3739
+ */
3740
+ consentUpdatedAt?: InputMaybe<Scalars['DateTime']['input']>;
3741
+ /** The customer opt-in level at the time of subscribing to marketing material. */
3742
+ marketingOptInLevel?: InputMaybe<CustomerMarketingOptInLevel>;
3743
+ /** The marketing state to set. Accepted values: SUBSCRIBED, UNSUBSCRIBED, and PENDING. NOT_SUBSCRIBED, REDACTED, and INVALID are rejected if sent as input. */
3744
+ marketingState: CustomerEmailMarketingState;
3745
+ /** Identifies the location where the customer consented to receiving marketing material by email. */
3746
+ sourceLocationId?: InputMaybe<Scalars['ID']['input']>;
3747
+ };
3852
3748
  /** The record of when a customer consented to receive marketing material by email. */
3853
3749
  type CustomerEmailMarketingConsentState = {
3854
3750
  __typename?: 'CustomerEmailMarketingConsentState';
@@ -3868,6 +3764,34 @@ type CustomerEmailMarketingConsentState = {
3868
3764
  /** The location where the customer consented to receive marketing material by email. */
3869
3765
  sourceLocation?: Maybe<Location>;
3870
3766
  };
3767
+ /** The input fields for the email consent information to update for a given customer ID. */
3768
+ type CustomerEmailMarketingConsentUpdateInput = {
3769
+ /** The ID of the customer for which to update the email marketing consent information. The customer must have a unique email address associated to the record. If not, add the email address using the `customerUpdate` mutation first. */
3770
+ customerId: Scalars['ID']['input'];
3771
+ /** The marketing consent information when the customer consented to receiving marketing material by email. */
3772
+ emailMarketingConsent: CustomerEmailMarketingConsentInput;
3773
+ };
3774
+ /** An error that occurs during the execution of `CustomerEmailMarketingConsentUpdate`. */
3775
+ type CustomerEmailMarketingConsentUpdateUserError = DisplayableError & {
3776
+ __typename?: 'CustomerEmailMarketingConsentUpdateUserError';
3777
+ /** The error code. */
3778
+ code?: Maybe<CustomerEmailMarketingConsentUpdateUserErrorCode>;
3779
+ /** The path to the input field that caused the error. */
3780
+ field?: Maybe<Array<Scalars['String']['output']>>;
3781
+ /** The error message. */
3782
+ message: Scalars['String']['output'];
3783
+ };
3784
+ /** Possible error codes that can be returned by `CustomerEmailMarketingConsentUpdateUserError`. */
3785
+ declare enum CustomerEmailMarketingConsentUpdateUserErrorCode {
3786
+ /** The input value isn't included in the list. */
3787
+ Inclusion = "INCLUSION",
3788
+ /** Unexpected internal error happened. */
3789
+ InternalError = "INTERNAL_ERROR",
3790
+ /** The input value is invalid. */
3791
+ Invalid = "INVALID",
3792
+ /** Missing a required argument. */
3793
+ MissingArgument = "MISSING_ARGUMENT"
3794
+ }
3871
3795
  /** The possible email marketing states for a customer. */
3872
3796
  declare enum CustomerEmailMarketingState {
3873
3797
  /** This value is internally-set and read-only. */
@@ -3983,7 +3907,7 @@ type CustomerMergeRequest = {
3983
3907
  customerMergeErrors: Array<CustomerMergeError>;
3984
3908
  /** The UUID of the merge job. */
3985
3909
  jobId?: Maybe<Scalars['ID']['output']>;
3986
- /** The ID of the customer resulting from the merge. */
3910
+ /** The ID of the customer that was kept after the merge. Treat this ID as authoritative. */
3987
3911
  resultingCustomerId: Scalars['ID']['output'];
3988
3912
  /** The status of the customer merge request. */
3989
3913
  status: CustomerMergeRequestStatus;
@@ -4024,7 +3948,7 @@ type CustomerMomentConnection = {
4024
3948
  /** A list of nodes that are contained in CustomerMomentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
4025
3949
  nodes: Array<CustomerMoment>;
4026
3950
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
4027
- pageInfo: PageInfo;
3951
+ pageInfo: PageInfo$1;
4028
3952
  };
4029
3953
  /** An auto-generated type which holds one CustomerMoment and a cursor during pagination. */
4030
3954
  type CustomerMomentEdge = {
@@ -4090,7 +4014,7 @@ type CustomerPaymentMethodConnection = {
4090
4014
  /** A list of nodes that are contained in CustomerPaymentMethodEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
4091
4015
  nodes: Array<CustomerPaymentMethod>;
4092
4016
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
4093
- pageInfo: PageInfo;
4017
+ pageInfo: PageInfo$1;
4094
4018
  };
4095
4019
  /** An auto-generated type which holds one CustomerPaymentMethod and a cursor during pagination. */
4096
4020
  type CustomerPaymentMethodEdge = {
@@ -4158,24 +4082,35 @@ type CustomerPaypalBillingAgreement = {
4158
4082
  /** A phone number. */
4159
4083
  type CustomerPhoneNumber = {
4160
4084
  __typename?: 'CustomerPhoneNumber';
4161
- /** The source from which the SMS marketing information for the customer was collected. */
4085
+ /**
4086
+ * The source from which the SMS marketing information for the customer was collected.
4087
+ * @deprecated Use `smsMarketingConsent.collectedFrom` instead.
4088
+ */
4162
4089
  marketingCollectedFrom?: Maybe<CustomerConsentCollectedFrom>;
4163
4090
  /**
4164
4091
  * The marketing subscription opt-in level, as described by the M3AAWG best practices guidelines,
4165
4092
  * received when the marketing consent was updated.
4093
+ * @deprecated Use `smsMarketingConsent.optInLevel` instead.
4166
4094
  */
4167
4095
  marketingOptInLevel?: Maybe<CustomerMarketingOptInLevel>;
4168
- /** Whether the customer has subscribed to SMS marketing material. */
4096
+ /**
4097
+ * Whether the customer has subscribed to SMS marketing material.
4098
+ * @deprecated Use `smsMarketingConsent.state` instead.
4099
+ */
4169
4100
  marketingState: CustomerSmsMarketingState;
4170
4101
  /**
4171
4102
  * The date and time at which the marketing consent was updated.
4172
4103
  *
4173
4104
  * No date is provided if the email address never updated its marketing consent.
4105
+ * @deprecated Use `smsMarketingConsent.updatedAt` instead.
4174
4106
  */
4175
4107
  marketingUpdatedAt?: Maybe<Scalars['DateTime']['output']>;
4176
4108
  /** A customer's phone number. */
4177
4109
  phoneNumber: Scalars['String']['output'];
4178
- /** The location where the customer consented to receive marketing material by SMS. */
4110
+ /**
4111
+ * The location where the customer consented to receive marketing material by SMS.
4112
+ * @deprecated Use `smsMarketingConsent.sourceLocation` instead.
4113
+ */
4179
4114
  sourceLocation?: Maybe<Location>;
4180
4115
  };
4181
4116
  /** The valid tiers for the predicted spend of a customer with a shop. */
@@ -4284,7 +4219,7 @@ type CustomerSegmentMemberConnection = {
4284
4219
  /** A list of edges. */
4285
4220
  edges: Array<CustomerSegmentMemberEdge>;
4286
4221
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
4287
- pageInfo: PageInfo;
4222
+ pageInfo: PageInfo$1;
4288
4223
  /** The statistics for a given segment. */
4289
4224
  statistics: SegmentStatistics;
4290
4225
  /** The total number of members in a given segment. */
@@ -4817,7 +4752,7 @@ type DeliveryLocationGroupZoneConnection = {
4817
4752
  /** A list of nodes that are contained in DeliveryLocationGroupZoneEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
4818
4753
  nodes: Array<DeliveryLocationGroupZone>;
4819
4754
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
4820
- pageInfo: PageInfo;
4755
+ pageInfo: PageInfo$1;
4821
4756
  };
4822
4757
  /** An auto-generated type which holds one DeliveryLocationGroupZone and a cursor during pagination. */
4823
4758
  type DeliveryLocationGroupZoneEdge = {
@@ -4888,7 +4823,7 @@ type DeliveryMethodDefinitionConnection = {
4888
4823
  /** A list of nodes that are contained in DeliveryMethodDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
4889
4824
  nodes: Array<DeliveryMethodDefinition>;
4890
4825
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
4891
- pageInfo: PageInfo;
4826
+ pageInfo: PageInfo$1;
4892
4827
  };
4893
4828
  /** The number of method definitions for a zone, separated into merchant-owned and participant definitions. */
4894
4829
  type DeliveryMethodDefinitionCounts = {
@@ -5020,7 +4955,7 @@ type DeliveryProfileItemConnection = {
5020
4955
  /** A list of nodes that are contained in DeliveryProfileItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
5021
4956
  nodes: Array<DeliveryProfileItem>;
5022
4957
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
5023
- pageInfo: PageInfo;
4958
+ pageInfo: PageInfo$1;
5024
4959
  };
5025
4960
  /** An auto-generated type which holds one DeliveryProfileItem and a cursor during pagination. */
5026
4961
  type DeliveryProfileItemEdge = {
@@ -5163,7 +5098,7 @@ type DiscountApplicationConnection = {
5163
5098
  /** A list of nodes that are contained in DiscountApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
5164
5099
  nodes: Array<DiscountApplication>;
5165
5100
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
5166
- pageInfo: PageInfo;
5101
+ pageInfo: PageInfo$1;
5167
5102
  };
5168
5103
  /** An auto-generated type which holds one DiscountApplication and a cursor during pagination. */
5169
5104
  type DiscountApplicationEdge = {
@@ -5786,6 +5721,30 @@ type DiscountCodeApp = {
5786
5721
  */
5787
5722
  usageLimit?: Maybe<Scalars['Int']['output']>;
5788
5723
  };
5724
+ /**
5725
+ * Discount code applications capture the intentions of a discount code at
5726
+ * the time that it is applied onto an order.
5727
+ *
5728
+ * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.
5729
+ */
5730
+ type DiscountCodeApplication = DiscountApplication & {
5731
+ __typename?: 'DiscountCodeApplication';
5732
+ /** The method by which the discount's value is applied to its entitled items. */
5733
+ allocationMethod: DiscountApplicationAllocationMethod;
5734
+ /** The string identifying the discount code that was used at the time of application. */
5735
+ code: Scalars['String']['output'];
5736
+ /**
5737
+ * An ordered index that can be used to identify the discount application and indicate the precedence
5738
+ * of the discount application for calculations.
5739
+ */
5740
+ index: Scalars['Int']['output'];
5741
+ /** How the discount amount is distributed on the discounted lines. */
5742
+ targetSelection: DiscountApplicationTargetSelection;
5743
+ /** Whether the discount is applied on line items or shipping lines. */
5744
+ targetType: DiscountApplicationTargetType;
5745
+ /** The value of the discount application. */
5746
+ value: PricingValue;
5747
+ };
5789
5748
  /**
5790
5749
  * The `DiscountCodeBasic` object lets you manage
5791
5750
  * [amount off discounts](https://help.shopify.com/manual/discounts/discount-types/percentage-fixed-amount)
@@ -6444,7 +6403,7 @@ type DiscountRedeemCodeConnection = {
6444
6403
  /** A list of nodes that are contained in DiscountRedeemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
6445
6404
  nodes: Array<DiscountRedeemCode>;
6446
6405
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
6447
- pageInfo: PageInfo;
6406
+ pageInfo: PageInfo$1;
6448
6407
  };
6449
6408
  /** An auto-generated type which holds one DiscountRedeemCode and a cursor during pagination. */
6450
6409
  type DiscountRedeemCodeEdge = {
@@ -6802,7 +6761,7 @@ type DraftOrderConnection = {
6802
6761
  /** A list of nodes that are contained in DraftOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
6803
6762
  nodes: Array<DraftOrder>;
6804
6763
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
6805
- pageInfo: PageInfo;
6764
+ pageInfo: PageInfo$1;
6806
6765
  };
6807
6766
  /** An auto-generated type which holds one DraftOrder and a cursor during pagination. */
6808
6767
  type DraftOrderEdge = {
@@ -6943,7 +6902,7 @@ type DraftOrderLineItemConnection = {
6943
6902
  /** A list of nodes that are contained in DraftOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
6944
6903
  nodes: Array<DraftOrderLineItem>;
6945
6904
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
6946
- pageInfo: PageInfo;
6905
+ pageInfo: PageInfo$1;
6947
6906
  };
6948
6907
  /** An auto-generated type which holds one DraftOrderLineItem and a cursor during pagination. */
6949
6908
  type DraftOrderLineItemEdge = {
@@ -7080,7 +7039,7 @@ type EventConnection = {
7080
7039
  /** A list of nodes that are contained in EventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7081
7040
  nodes: Array<Event>;
7082
7041
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7083
- pageInfo: PageInfo;
7042
+ pageInfo: PageInfo$1;
7084
7043
  };
7085
7044
  /** An auto-generated type which holds one Event and a cursor during pagination. */
7086
7045
  type EventEdge = {
@@ -7121,7 +7080,7 @@ type ExchangeLineItemConnection = {
7121
7080
  /** A list of nodes that are contained in ExchangeLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7122
7081
  nodes: Array<ExchangeLineItem>;
7123
7082
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7124
- pageInfo: PageInfo;
7083
+ pageInfo: PageInfo$1;
7125
7084
  };
7126
7085
  /** An auto-generated type which holds one ExchangeLineItem and a cursor during pagination. */
7127
7086
  type ExchangeLineItemEdge = {
@@ -7181,7 +7140,7 @@ type ExchangeV2Connection = {
7181
7140
  /** A list of nodes that are contained in ExchangeV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7182
7141
  nodes: Array<ExchangeV2>;
7183
7142
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7184
- pageInfo: PageInfo;
7143
+ pageInfo: PageInfo$1;
7185
7144
  };
7186
7145
  /** An auto-generated type which holds one ExchangeV2 and a cursor during pagination. */
7187
7146
  type ExchangeV2Edge = {
@@ -7506,6 +7465,8 @@ declare enum FilesErrorCode {
7506
7465
  InvalidImageSourceUrl = "INVALID_IMAGE_SOURCE_URL",
7507
7466
  /** Search query isn't supported. */
7508
7467
  InvalidQuery = "INVALID_QUERY",
7468
+ /** Media cannot be modified. It is currently being modified by another operation. */
7469
+ MediaCannotBeModified = "MEDIA_CANNOT_BE_MODIFIED",
7509
7470
  /** Cannot create file with custom filename which does not match original source extension. */
7510
7471
  MismatchedFilenameAndOriginalSource = "MISMATCHED_FILENAME_AND_ORIGINAL_SOURCE",
7511
7472
  /** At least one argument is required. */
@@ -7637,7 +7598,7 @@ type FulfillmentConnection = {
7637
7598
  /** A list of nodes that are contained in FulfillmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7638
7599
  nodes: Array<Fulfillment$1>;
7639
7600
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7640
- pageInfo: PageInfo;
7601
+ pageInfo: PageInfo$1;
7641
7602
  };
7642
7603
  /** The display status of a fulfillment. */
7643
7604
  declare enum FulfillmentDisplayStatus {
@@ -7726,7 +7687,7 @@ type FulfillmentEventConnection = {
7726
7687
  /** A list of nodes that are contained in FulfillmentEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7727
7688
  nodes: Array<FulfillmentEvent>;
7728
7689
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7729
- pageInfo: PageInfo;
7690
+ pageInfo: PageInfo$1;
7730
7691
  };
7731
7692
  /** An auto-generated type which holds one FulfillmentEvent and a cursor during pagination. */
7732
7693
  type FulfillmentEventEdge = {
@@ -7826,7 +7787,7 @@ type FulfillmentInput = {
7826
7787
  *
7827
7788
  * > Note: The discounted total excludes order-level discounts, showing only line-item specific discount amounts.
7828
7789
  */
7829
- type FulfillmentLineItem = Node & {
7790
+ type FulfillmentLineItem$1 = Node & {
7830
7791
  __typename?: 'FulfillmentLineItem';
7831
7792
  /**
7832
7793
  * The total price after discounts are applied.
@@ -7855,9 +7816,9 @@ type FulfillmentLineItemConnection = {
7855
7816
  /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
7856
7817
  edges: Array<FulfillmentLineItemEdge>;
7857
7818
  /** A list of nodes that are contained in FulfillmentLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
7858
- nodes: Array<FulfillmentLineItem>;
7819
+ nodes: Array<FulfillmentLineItem$1>;
7859
7820
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
7860
- pageInfo: PageInfo;
7821
+ pageInfo: PageInfo$1;
7861
7822
  };
7862
7823
  /** An auto-generated type which holds one FulfillmentLineItem and a cursor during pagination. */
7863
7824
  type FulfillmentLineItemEdge = {
@@ -7865,7 +7826,7 @@ type FulfillmentLineItemEdge = {
7865
7826
  /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
7866
7827
  cursor: Scalars['String']['output'];
7867
7828
  /** The item at the end of FulfillmentLineItemEdge. */
7868
- node: FulfillmentLineItem;
7829
+ node: FulfillmentLineItem$1;
7869
7830
  };
7870
7831
  /**
7871
7832
  * The FulfillmentOrder object represents either an item or a group of items in an
@@ -8195,7 +8156,7 @@ type FulfillmentOrderConnection = {
8195
8156
  /** A list of nodes that are contained in FulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
8196
8157
  nodes: Array<FulfillmentOrder$1>;
8197
8158
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
8198
- pageInfo: PageInfo;
8159
+ pageInfo: PageInfo$1;
8199
8160
  };
8200
8161
  /** Represents the destination where the items should be sent upon fulfillment. */
8201
8162
  type FulfillmentOrderDestination = Node & {
@@ -8292,7 +8253,7 @@ type FulfillmentOrderLineItemConnection = {
8292
8253
  /** A list of nodes that are contained in FulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
8293
8254
  nodes: Array<FulfillmentOrderLineItem$1>;
8294
8255
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
8295
- pageInfo: PageInfo;
8256
+ pageInfo: PageInfo$1;
8296
8257
  };
8297
8258
  /** An auto-generated type which holds one FulfillmentOrderLineItem and a cursor during pagination. */
8298
8259
  type FulfillmentOrderLineItemEdge = {
@@ -8375,7 +8336,7 @@ type FulfillmentOrderLocationForMoveConnection = {
8375
8336
  /** A list of nodes that are contained in FulfillmentOrderLocationForMoveEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
8376
8337
  nodes: Array<FulfillmentOrderLocationForMove>;
8377
8338
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
8378
- pageInfo: PageInfo;
8339
+ pageInfo: PageInfo$1;
8379
8340
  };
8380
8341
  /** An auto-generated type which holds one FulfillmentOrderLocationForMove and a cursor during pagination. */
8381
8342
  type FulfillmentOrderLocationForMoveEdge = {
@@ -8419,7 +8380,7 @@ type FulfillmentOrderMerchantRequestConnection = {
8419
8380
  /** A list of nodes that are contained in FulfillmentOrderMerchantRequestEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
8420
8381
  nodes: Array<FulfillmentOrderMerchantRequest>;
8421
8382
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
8422
- pageInfo: PageInfo;
8383
+ pageInfo: PageInfo$1;
8423
8384
  };
8424
8385
  /** An auto-generated type which holds one FulfillmentOrderMerchantRequest and a cursor during pagination. */
8425
8386
  type FulfillmentOrderMerchantRequestEdge = {
@@ -8762,6 +8723,7 @@ type FulfillmentTrackingInfo = {
8762
8723
  * * Sendle
8763
8724
  * * SF Express
8764
8725
  * * SFC Fulfillment
8726
+ * * ShipBob
8765
8727
  * * SHREE NANDAN COURIER
8766
8728
  * * Singapore Post
8767
8729
  * * Southwest Air Cargo
@@ -9075,7 +9037,7 @@ type GiftCardTransactionConnection = {
9075
9037
  /** A list of nodes that are contained in GiftCardTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9076
9038
  nodes: Array<GiftCardTransaction>;
9077
9039
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9078
- pageInfo: PageInfo;
9040
+ pageInfo: PageInfo$1;
9079
9041
  };
9080
9042
  /** An auto-generated type which holds one GiftCardTransaction and a cursor during pagination. */
9081
9043
  type GiftCardTransactionEdge = {
@@ -9214,7 +9176,7 @@ type ImageConnection = {
9214
9176
  /** A list of nodes that are contained in ImageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9215
9177
  nodes: Array<Image>;
9216
9178
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9217
- pageInfo: PageInfo;
9179
+ pageInfo: PageInfo$1;
9218
9180
  };
9219
9181
  /** An auto-generated type which holds one Image and a cursor during pagination. */
9220
9182
  type ImageEdge = {
@@ -9296,7 +9258,7 @@ type InventoryItemConnection = {
9296
9258
  /** A list of nodes that are contained in InventoryItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9297
9259
  nodes: Array<InventoryItem>;
9298
9260
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9299
- pageInfo: PageInfo;
9261
+ pageInfo: PageInfo$1;
9300
9262
  };
9301
9263
  /** An auto-generated type which holds one InventoryItem and a cursor during pagination. */
9302
9264
  type InventoryItemEdge = {
@@ -9380,7 +9342,7 @@ type InventoryLevelConnection = {
9380
9342
  /** A list of nodes that are contained in InventoryLevelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9381
9343
  nodes: Array<InventoryLevel>;
9382
9344
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9383
- pageInfo: PageInfo;
9345
+ pageInfo: PageInfo$1;
9384
9346
  };
9385
9347
  /** An auto-generated type which holds one InventoryLevel and a cursor during pagination. */
9386
9348
  type InventoryLevelEdge = {
@@ -9455,7 +9417,7 @@ type InventoryScheduledChangeConnection = {
9455
9417
  /** A list of nodes that are contained in InventoryScheduledChangeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9456
9418
  nodes: Array<InventoryScheduledChange>;
9457
9419
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9458
- pageInfo: PageInfo;
9420
+ pageInfo: PageInfo$1;
9459
9421
  };
9460
9422
  /** An auto-generated type which holds one InventoryScheduledChange and a cursor during pagination. */
9461
9423
  type InventoryScheduledChangeEdge = {
@@ -9675,7 +9637,7 @@ type LineItemConnection = {
9675
9637
  /** A list of nodes that are contained in LineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9676
9638
  nodes: Array<LineItem>;
9677
9639
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9678
- pageInfo: PageInfo;
9640
+ pageInfo: PageInfo$1;
9679
9641
  };
9680
9642
  /** An auto-generated type which holds one LineItem and a cursor during pagination. */
9681
9643
  type LineItemEdge = {
@@ -9769,7 +9731,7 @@ type LocalizationExtensionConnection = {
9769
9731
  /** A list of nodes that are contained in LocalizationExtensionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9770
9732
  nodes: Array<LocalizationExtension>;
9771
9733
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9772
- pageInfo: PageInfo;
9734
+ pageInfo: PageInfo$1;
9773
9735
  };
9774
9736
  /** An auto-generated type which holds one LocalizationExtension and a cursor during pagination. */
9775
9737
  type LocalizationExtensionEdge = {
@@ -9885,7 +9847,7 @@ type LocalizedFieldConnection = {
9885
9847
  /** A list of nodes that are contained in LocalizedFieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
9886
9848
  nodes: Array<LocalizedField>;
9887
9849
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
9888
- pageInfo: PageInfo;
9850
+ pageInfo: PageInfo$1;
9889
9851
  };
9890
9852
  /** An auto-generated type which holds one LocalizedField and a cursor during pagination. */
9891
9853
  type LocalizedFieldEdge = {
@@ -10102,7 +10064,7 @@ type LocationConnection = {
10102
10064
  /** A list of nodes that are contained in LocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10103
10065
  nodes: Array<Location>;
10104
10066
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10105
- pageInfo: PageInfo;
10067
+ pageInfo: PageInfo$1;
10106
10068
  };
10107
10069
  /** An auto-generated type which holds one Location and a cursor during pagination. */
10108
10070
  type LocationEdge = {
@@ -10203,7 +10165,7 @@ type MailingAddress = Node & {
10203
10165
  /** The time zone of the address. */
10204
10166
  timeZone?: Maybe<Scalars['String']['output']>;
10205
10167
  /**
10206
- * The validation status that is leveraged by the address validation feature in the Shopify Admin.
10168
+ * The validation status that's leveraged by the address validation feature in the Shopify Admin.
10207
10169
  * See ["Validating addresses in your Shopify admin"](https://help.shopify.com/manual/fulfillment/managing-orders/validating-order-address) for more details.
10208
10170
  */
10209
10171
  validationResultSummary?: Maybe<MailingAddressValidationResult>;
@@ -10218,7 +10180,7 @@ type MailingAddressConnection = {
10218
10180
  /** A list of nodes that are contained in MailingAddressEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10219
10181
  nodes: Array<MailingAddress>;
10220
10182
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10221
- pageInfo: PageInfo;
10183
+ pageInfo: PageInfo$1;
10222
10184
  };
10223
10185
  /** An auto-generated type which holds one MailingAddress and a cursor during pagination. */
10224
10186
  type MailingAddressEdge = {
@@ -10238,12 +10200,39 @@ declare enum MailingAddressValidationResult {
10238
10200
  Warning = "WARNING"
10239
10201
  }
10240
10202
  /**
10241
- * A market is a group of one or more regions that you want to target for international sales.
10242
- * By creating a market, you can configure a distinct, localized shopping experience for
10243
- * customers from a specific area of the world. For example, you can
10244
- * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),
10245
- * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists),
10246
- * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).
10203
+ * Manual discount applications capture the intentions of a discount that was manually created for an order.
10204
+ *
10205
+ * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.
10206
+ */
10207
+ type ManualDiscountApplication = DiscountApplication & {
10208
+ __typename?: 'ManualDiscountApplication';
10209
+ /** The method by which the discount's value is applied to its entitled items. */
10210
+ allocationMethod: DiscountApplicationAllocationMethod;
10211
+ /** The description of the discount application. */
10212
+ description?: Maybe<Scalars['String']['output']>;
10213
+ /**
10214
+ * An ordered index that can be used to identify the discount application and indicate the precedence
10215
+ * of the discount application for calculations.
10216
+ */
10217
+ index: Scalars['Int']['output'];
10218
+ /** How the discount amount is distributed on the discounted lines. */
10219
+ targetSelection: DiscountApplicationTargetSelection;
10220
+ /** Whether the discount is applied on line items or shipping lines. */
10221
+ targetType: DiscountApplicationTargetType;
10222
+ /** The title of the discount application. */
10223
+ title: Scalars['String']['output'];
10224
+ /** The value of the discount application. */
10225
+ value: PricingValue;
10226
+ };
10227
+ /**
10228
+ * A merchant-defined group of buyers identified by conditions such as their
10229
+ * region, retail location, or company location. Each market allows configuration
10230
+ * of a distinct, localized buyer experience. Customizations include, but are
10231
+ * not limited to,
10232
+ * [currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),
10233
+ * [pricing and product availability](https://shopify.dev/apps/internationalization/product-price-lists),
10234
+ * [web presence](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence),
10235
+ * and content translations.
10247
10236
  */
10248
10237
  type Market = HasMetafieldDefinitions & HasMetafields & Node & {
10249
10238
  __typename?: 'Market';
@@ -10363,7 +10352,7 @@ type MarketCatalogConnection = {
10363
10352
  /** A list of nodes that are contained in MarketCatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10364
10353
  nodes: Array<MarketCatalog>;
10365
10354
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10366
- pageInfo: PageInfo;
10355
+ pageInfo: PageInfo$1;
10367
10356
  };
10368
10357
  /** An auto-generated type which holds one MarketCatalog and a cursor during pagination. */
10369
10358
  type MarketCatalogEdge = {
@@ -10409,7 +10398,7 @@ type MarketConnection = {
10409
10398
  /** A list of nodes that are contained in MarketEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10410
10399
  nodes: Array<Market>;
10411
10400
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10412
- pageInfo: PageInfo;
10401
+ pageInfo: PageInfo$1;
10413
10402
  };
10414
10403
  /** A market's currency settings. */
10415
10404
  type MarketCurrencySettings = {
@@ -10457,7 +10446,7 @@ type MarketRegionConnection = {
10457
10446
  /** A list of nodes that are contained in MarketRegionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10458
10447
  nodes: Array<MarketRegion>;
10459
10448
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10460
- pageInfo: PageInfo;
10449
+ pageInfo: PageInfo$1;
10461
10450
  };
10462
10451
  /** An auto-generated type which holds one MarketRegion and a cursor during pagination. */
10463
10452
  type MarketRegionEdge = {
@@ -10541,7 +10530,7 @@ type MarketWebPresenceConnection = {
10541
10530
  /** A list of nodes that are contained in MarketWebPresenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10542
10531
  nodes: Array<MarketWebPresence>;
10543
10532
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10544
- pageInfo: PageInfo;
10533
+ pageInfo: PageInfo$1;
10545
10534
  };
10546
10535
  /** An auto-generated type which holds one MarketWebPresence and a cursor during pagination. */
10547
10536
  type MarketWebPresenceEdge = {
@@ -10731,7 +10720,7 @@ type MediaConnection = {
10731
10720
  /** A list of nodes that are contained in MediaEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
10732
10721
  nodes: Array<Media>;
10733
10722
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
10734
- pageInfo: PageInfo;
10723
+ pageInfo: PageInfo$1;
10735
10724
  };
10736
10725
  /** The possible content types for a media object. */
10737
10726
  declare enum MediaContentType {
@@ -11055,6 +11044,24 @@ type MetafieldAccess = {
11055
11044
  /** The access permitted on the Storefront API. */
11056
11045
  storefront?: Maybe<MetafieldStorefrontAccess>;
11057
11046
  };
11047
+ /** The input fields that set access permissions for the definition's metafields. */
11048
+ type MetafieldAccessInput = {
11049
+ /** The access permitted on the Admin API. */
11050
+ admin?: InputMaybe<MetafieldAdminAccessInput>;
11051
+ /** The access permitted on the Customer Account API. */
11052
+ customerAccount?: InputMaybe<MetafieldCustomerAccountAccessInput>;
11053
+ /** The access permitted on the Storefront API. */
11054
+ storefront?: InputMaybe<MetafieldStorefrontAccessInput>;
11055
+ };
11056
+ /** The input fields for the access settings for the metafields under the definition. */
11057
+ type MetafieldAccessUpdateInput = {
11058
+ /** The admin access setting to use for the metafields under this definition. */
11059
+ admin?: InputMaybe<MetafieldAdminAccessInput>;
11060
+ /** The Customer Account API access setting to use for the metafields under this definition. */
11061
+ customerAccount?: InputMaybe<MetafieldCustomerAccountAccessInput>;
11062
+ /** The storefront access setting to use for the metafields under this definition. */
11063
+ storefront?: InputMaybe<MetafieldStorefrontAccessInput>;
11064
+ };
11058
11065
  /** Metafield access permissions for the Admin API. */
11059
11066
  declare enum MetafieldAdminAccess {
11060
11067
  /** The merchant has read-only access. No other apps have access. */
@@ -11068,6 +11075,13 @@ declare enum MetafieldAdminAccess {
11068
11075
  /** The merchant and other apps have read and write access. */
11069
11076
  PublicReadWrite = "PUBLIC_READ_WRITE"
11070
11077
  }
11078
+ /** Metafield access permissions for the Admin API. */
11079
+ declare enum MetafieldAdminAccessInput {
11080
+ /** The merchant has read-only access. No other apps have access. */
11081
+ MerchantRead = "MERCHANT_READ",
11082
+ /** The merchant has read and write access. No other apps have access. */
11083
+ MerchantReadWrite = "MERCHANT_READ_WRITE"
11084
+ }
11071
11085
  /** Provides the capabilities of a metafield definition. */
11072
11086
  type MetafieldCapabilities = {
11073
11087
  __typename?: 'MetafieldCapabilities';
@@ -11088,6 +11102,20 @@ type MetafieldCapabilityAdminFilterable = {
11088
11102
  /** Determines the metafield definition's filter status for use in admin filtering. */
11089
11103
  status: MetafieldDefinitionAdminFilterStatus;
11090
11104
  };
11105
+ /** The input fields for enabling and disabling the admin filterable capability. */
11106
+ type MetafieldCapabilityAdminFilterableInput = {
11107
+ /** Indicates whether the capability should be enabled or disabled. */
11108
+ enabled: Scalars['Boolean']['input'];
11109
+ };
11110
+ /** The input fields for creating a metafield capability. */
11111
+ type MetafieldCapabilityCreateInput = {
11112
+ /** The input for updating the admin filterable capability. */
11113
+ adminFilterable?: InputMaybe<MetafieldCapabilityAdminFilterableInput>;
11114
+ /** The input for updating the smart collection condition capability. */
11115
+ smartCollectionCondition?: InputMaybe<MetafieldCapabilitySmartCollectionConditionInput>;
11116
+ /** The input for updating the unique values capability. */
11117
+ uniqueValues?: InputMaybe<MetafieldCapabilityUniqueValuesInput>;
11118
+ };
11091
11119
  /** Information about the smart collection condition capability on a metafield definition. */
11092
11120
  type MetafieldCapabilitySmartCollectionCondition = {
11093
11121
  __typename?: 'MetafieldCapabilitySmartCollectionCondition';
@@ -11096,6 +11124,11 @@ type MetafieldCapabilitySmartCollectionCondition = {
11096
11124
  /** Indicates if the capability is enabled. */
11097
11125
  enabled: Scalars['Boolean']['output'];
11098
11126
  };
11127
+ /** The input fields for enabling and disabling the smart collection condition capability. */
11128
+ type MetafieldCapabilitySmartCollectionConditionInput = {
11129
+ /** Indicates whether the capability should be enabled or disabled. */
11130
+ enabled: Scalars['Boolean']['input'];
11131
+ };
11099
11132
  /** Information about the unique values capability on a metafield definition. */
11100
11133
  type MetafieldCapabilityUniqueValues = {
11101
11134
  __typename?: 'MetafieldCapabilityUniqueValues';
@@ -11104,6 +11137,20 @@ type MetafieldCapabilityUniqueValues = {
11104
11137
  /** Indicates if the capability is enabled. */
11105
11138
  enabled: Scalars['Boolean']['output'];
11106
11139
  };
11140
+ /** The input fields for enabling and disabling the unique values capability. */
11141
+ type MetafieldCapabilityUniqueValuesInput = {
11142
+ /** Indicates whether the capability should be enabled or disabled. */
11143
+ enabled: Scalars['Boolean']['input'];
11144
+ };
11145
+ /** The input fields for updating a metafield capability. */
11146
+ type MetafieldCapabilityUpdateInput = {
11147
+ /** The input for updating the admin filterable capability. */
11148
+ adminFilterable?: InputMaybe<MetafieldCapabilityAdminFilterableInput>;
11149
+ /** The input for updating the smart collection condition capability. */
11150
+ smartCollectionCondition?: InputMaybe<MetafieldCapabilitySmartCollectionConditionInput>;
11151
+ /** The input for updating the unique values capability. */
11152
+ uniqueValues?: InputMaybe<MetafieldCapabilityUniqueValuesInput>;
11153
+ };
11107
11154
  /** An auto-generated type for paginating through multiple Metafields. */
11108
11155
  type MetafieldConnection = {
11109
11156
  __typename?: 'MetafieldConnection';
@@ -11112,7 +11159,7 @@ type MetafieldConnection = {
11112
11159
  /** A list of nodes that are contained in MetafieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11113
11160
  nodes: Array<Metafield>;
11114
11161
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11115
- pageInfo: PageInfo;
11162
+ pageInfo: PageInfo$1;
11116
11163
  };
11117
11164
  /** Metafield access permissions for the Customer Account API. */
11118
11165
  declare enum MetafieldCustomerAccountAccess {
@@ -11123,6 +11170,15 @@ declare enum MetafieldCustomerAccountAccess {
11123
11170
  /** Read and write access. */
11124
11171
  ReadWrite = "READ_WRITE"
11125
11172
  }
11173
+ /** Metafield access permissions for the Customer Account API. */
11174
+ declare enum MetafieldCustomerAccountAccessInput {
11175
+ /** No access. */
11176
+ None = "NONE",
11177
+ /** Read-only access. */
11178
+ Read = "READ",
11179
+ /** Read and write access. */
11180
+ ReadWrite = "READ_WRITE"
11181
+ }
11126
11182
  /**
11127
11183
  * Defines the structure, validation rules, and permissions for [`Metafield`](https://shopify.dev/docs/api/admin-graphql/current/objects/Metafield) objects attached to a specific owner type. Each definition establishes a schema that metafields must follow, including the data type and validation constraints.
11128
11184
  *
@@ -11195,7 +11251,7 @@ type MetafieldDefinitionConnection = {
11195
11251
  /** A list of nodes that are contained in MetafieldDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11196
11252
  nodes: Array<MetafieldDefinition>;
11197
11253
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11198
- pageInfo: PageInfo;
11254
+ pageInfo: PageInfo$1;
11199
11255
  };
11200
11256
  /** A constraint subtype value that the metafield definition applies to. */
11201
11257
  type MetafieldDefinitionConstraintValue = {
@@ -11211,7 +11267,7 @@ type MetafieldDefinitionConstraintValueConnection = {
11211
11267
  /** A list of nodes that are contained in MetafieldDefinitionConstraintValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11212
11268
  nodes: Array<MetafieldDefinitionConstraintValue>;
11213
11269
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11214
- pageInfo: PageInfo;
11270
+ pageInfo: PageInfo$1;
11215
11271
  };
11216
11272
  /** An auto-generated type which holds one MetafieldDefinitionConstraintValue and a cursor during pagination. */
11217
11273
  type MetafieldDefinitionConstraintValueEdge = {
@@ -11221,6 +11277,16 @@ type MetafieldDefinitionConstraintValueEdge = {
11221
11277
  /** The item at the end of MetafieldDefinitionConstraintValueEdge. */
11222
11278
  node: MetafieldDefinitionConstraintValue;
11223
11279
  };
11280
+ /**
11281
+ * The inputs fields for modifying a metafield definition's constraint subtype values.
11282
+ * Exactly one option is required.
11283
+ */
11284
+ type MetafieldDefinitionConstraintValueUpdateInput = {
11285
+ /** The constraint subtype value to create. */
11286
+ create?: InputMaybe<Scalars['String']['input']>;
11287
+ /** The constraint subtype value to delete. */
11288
+ delete?: InputMaybe<Scalars['String']['input']>;
11289
+ };
11224
11290
  /**
11225
11291
  * The [constraints](https://shopify.dev/apps/build/custom-data/metafields/conditional-metafield-definitions)
11226
11292
  * that determine what subtypes of resources a metafield definition applies to.
@@ -11232,6 +11298,95 @@ type MetafieldDefinitionConstraints = {
11232
11298
  /** The specific constraint subtype values that the definition applies to. */
11233
11299
  values: MetafieldDefinitionConstraintValueConnection;
11234
11300
  };
11301
+ /**
11302
+ * The input fields required to create metafield definition [constraints](https://shopify.dev/apps/build/custom-data/metafields/conditional-metafield-definitions).
11303
+ * Each constraint applies a metafield definition to a subtype of a resource.
11304
+ */
11305
+ type MetafieldDefinitionConstraintsInput = {
11306
+ /** The category of resource subtypes that the definition applies to. */
11307
+ key: Scalars['String']['input'];
11308
+ /** The specific constraint subtype values that the definition applies to. */
11309
+ values: Array<Scalars['String']['input']>;
11310
+ };
11311
+ /**
11312
+ * The input fields required to update metafield definition [constraints](https://shopify.dev/apps/build/custom-data/metafields/conditional-metafield-definitions).
11313
+ * Each constraint applies a metafield definition to a subtype of a resource.
11314
+ */
11315
+ type MetafieldDefinitionConstraintsUpdatesInput = {
11316
+ /**
11317
+ * The category of resource subtypes that the definition applies to.
11318
+ * If omitted and the definition is already constrained, the existing constraint key will be used.
11319
+ * If set to `null`, all constraints will be removed.
11320
+ */
11321
+ key?: InputMaybe<Scalars['String']['input']>;
11322
+ /** The specific constraint subtype values to create or delete. */
11323
+ values?: InputMaybe<Array<MetafieldDefinitionConstraintValueUpdateInput>>;
11324
+ };
11325
+ /** An error that occurs during the execution of `MetafieldDefinitionCreate`. */
11326
+ type MetafieldDefinitionCreateUserError = DisplayableError & {
11327
+ __typename?: 'MetafieldDefinitionCreateUserError';
11328
+ /** The error code. */
11329
+ code?: Maybe<MetafieldDefinitionCreateUserErrorCode>;
11330
+ /** The index of the array element that's causing the error. */
11331
+ elementIndex?: Maybe<Scalars['Int']['output']>;
11332
+ /** The path to the input field that caused the error. */
11333
+ field?: Maybe<Array<Scalars['String']['output']>>;
11334
+ /** The error message. */
11335
+ message: Scalars['String']['output'];
11336
+ };
11337
+ /** Possible error codes that can be returned by `MetafieldDefinitionCreateUserError`. */
11338
+ declare enum MetafieldDefinitionCreateUserErrorCode {
11339
+ /** Admin access can only be specified for app-owned metafield definitions. */
11340
+ AdminAccessInputNotAllowed = "ADMIN_ACCESS_INPUT_NOT_ALLOWED",
11341
+ /** The input value is blank. */
11342
+ Blank = "BLANK",
11343
+ /** A capability is required for the definition type but is disabled. */
11344
+ CapabilityRequiredButDisabled = "CAPABILITY_REQUIRED_BUT_DISABLED",
11345
+ /** A duplicate option. */
11346
+ DuplicateOption = "DUPLICATE_OPTION",
11347
+ /** The input value isn't included in the list. */
11348
+ Inclusion = "INCLUSION",
11349
+ /** The input value is invalid. */
11350
+ Invalid = "INVALID",
11351
+ /** The metafield definition capability is invalid. */
11352
+ InvalidCapability = "INVALID_CAPABILITY",
11353
+ /** A field contains an invalid character. */
11354
+ InvalidCharacter = "INVALID_CHARACTER",
11355
+ /** The metafield definition constraints are invalid. */
11356
+ InvalidConstraints = "INVALID_CONSTRAINTS",
11357
+ /** The input combination is invalid. */
11358
+ InvalidInputCombination = "INVALID_INPUT_COMBINATION",
11359
+ /** An invalid option. */
11360
+ InvalidOption = "INVALID_OPTION",
11361
+ /** The maximum limit of definitions per owner type has exceeded. */
11362
+ LimitExceeded = "LIMIT_EXCEEDED",
11363
+ /** You have reached the maximum allowed definitions for automated collections. */
11364
+ OwnerTypeLimitExceededForAutomatedCollections = "OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS",
11365
+ /** You have reached the maximum allowed definitions to be used as admin filters. */
11366
+ OwnerTypeLimitExceededForUseAsAdminFilters = "OWNER_TYPE_LIMIT_EXCEEDED_FOR_USE_AS_ADMIN_FILTERS",
11367
+ /** The pinned limit has been reached for the owner type. */
11368
+ PinnedLimitReached = "PINNED_LIMIT_REACHED",
11369
+ /** The input value needs to be blank. */
11370
+ Present = "PRESENT",
11371
+ /** This namespace and key combination is reserved for standard definitions. */
11372
+ ReservedNamespaceKey = "RESERVED_NAMESPACE_KEY",
11373
+ /** The definition limit per owner type has exceeded. */
11374
+ ResourceTypeLimitExceeded = "RESOURCE_TYPE_LIMIT_EXCEEDED",
11375
+ /** The definition limit per owner type for the app has exceeded. */
11376
+ ResourceTypeLimitExceededByApp = "RESOURCE_TYPE_LIMIT_EXCEEDED_BY_APP",
11377
+ /** The input value is already taken. */
11378
+ Taken = "TAKEN",
11379
+ /** The input value is too long. */
11380
+ TooLong = "TOO_LONG",
11381
+ /** The input value is too short. */
11382
+ TooShort = "TOO_SHORT",
11383
+ /** The definition type is not eligible to be used as collection condition. */
11384
+ TypeNotAllowedForConditions = "TYPE_NOT_ALLOWED_FOR_CONDITIONS",
11385
+ /** This namespace and key combination is already in use for a set of your metafields. */
11386
+ UnstructuredAlreadyExists = "UNSTRUCTURED_ALREADY_EXISTS",
11387
+ /** The metafield definition does not support pinning. */
11388
+ UnsupportedPinning = "UNSUPPORTED_PINNING"
11389
+ }
11235
11390
  /** An auto-generated type which holds one MetafieldDefinition and a cursor during pagination. */
11236
11391
  type MetafieldDefinitionEdge = {
11237
11392
  __typename?: 'MetafieldDefinitionEdge';
@@ -11240,6 +11395,54 @@ type MetafieldDefinitionEdge = {
11240
11395
  /** The item at the end of MetafieldDefinitionEdge. */
11241
11396
  node: MetafieldDefinition;
11242
11397
  };
11398
+ /** The input fields required to create a metafield definition. */
11399
+ type MetafieldDefinitionInput = {
11400
+ /** The access settings that apply to each of the metafields that belong to the metafield definition. */
11401
+ access?: InputMaybe<MetafieldAccessInput>;
11402
+ /** The capabilities of the metafield definition. */
11403
+ capabilities?: InputMaybe<MetafieldCapabilityCreateInput>;
11404
+ /**
11405
+ * The [constraints](https://shopify.dev/apps/build/custom-data/metafields/conditional-metafield-definitions)
11406
+ * that determine what resources a metafield definition applies to.
11407
+ */
11408
+ constraints?: InputMaybe<MetafieldDefinitionConstraintsInput>;
11409
+ /** The description for the metafield definition. */
11410
+ description?: InputMaybe<Scalars['String']['input']>;
11411
+ /**
11412
+ * The unique identifier for the metafield definition within its namespace.
11413
+ *
11414
+ * Must be 2-64 characters long and only contain alphanumeric, hyphen, and underscore characters.
11415
+ */
11416
+ key: Scalars['String']['input'];
11417
+ /** The human-readable name for the metafield definition. */
11418
+ name: Scalars['String']['input'];
11419
+ /**
11420
+ * The container for a group of metafields that the metafield definition will be associated with. If omitted, the
11421
+ * app-reserved namespace will be used.
11422
+ *
11423
+ * Must be 3-255 characters long and only contain alphanumeric, hyphen, and underscore characters.
11424
+ */
11425
+ namespace?: InputMaybe<Scalars['String']['input']>;
11426
+ /** The resource type that the metafield definition is attached to. */
11427
+ ownerType: MetafieldOwnerType;
11428
+ /**
11429
+ * Whether to [pin](https://help.shopify.com/manual/custom-data/metafields/pinning-metafield-definitions)
11430
+ * the metafield definition.
11431
+ */
11432
+ pin?: InputMaybe<Scalars['Boolean']['input']>;
11433
+ /**
11434
+ * The type of data that each of the metafields that belong to the metafield definition will store.
11435
+ * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types).
11436
+ */
11437
+ type: Scalars['String']['input'];
11438
+ /**
11439
+ * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for
11440
+ * the metafields that belong to the metafield definition. For example, for a metafield definition with the
11441
+ * type `date`, you can set a minimum date validation so that each of the metafields that belong to it can only
11442
+ * store dates after the specified minimum.
11443
+ */
11444
+ validations?: InputMaybe<Array<MetafieldDefinitionValidationInput>>;
11445
+ };
11243
11446
  /**
11244
11447
  * The type and name for the optional validation configuration of a metafield.
11245
11448
  *
@@ -11273,6 +11476,109 @@ type MetafieldDefinitionType = {
11273
11476
  */
11274
11477
  valueType: MetafieldValueType;
11275
11478
  };
11479
+ /** The input fields required to update a metafield definition. */
11480
+ type MetafieldDefinitionUpdateInput = {
11481
+ /** The access settings that apply to each of the metafields that belong to the metafield definition. */
11482
+ access?: InputMaybe<MetafieldAccessUpdateInput>;
11483
+ /** The capabilities of the metafield definition. */
11484
+ capabilities?: InputMaybe<MetafieldCapabilityUpdateInput>;
11485
+ /**
11486
+ * The [constraints](https://shopify.dev/apps/build/custom-data/metafields/conditional-metafield-definitions)
11487
+ * that determine what resources a metafield definition applies to.
11488
+ */
11489
+ constraintsUpdates?: InputMaybe<MetafieldDefinitionConstraintsUpdatesInput>;
11490
+ /** The description for the metafield definition. */
11491
+ description?: InputMaybe<Scalars['String']['input']>;
11492
+ /**
11493
+ * The unique identifier for the metafield definition within its namespace. Used to help identify the metafield
11494
+ * definition, but can't be updated itself.
11495
+ */
11496
+ key: Scalars['String']['input'];
11497
+ /** The human-readable name for the metafield definition. */
11498
+ name?: InputMaybe<Scalars['String']['input']>;
11499
+ /**
11500
+ * The container for a group of metafields that the metafield definition is associated with. Used to help identify
11501
+ * the metafield definition, but can't be updated itself. If omitted, the app-reserved namespace will be used.
11502
+ */
11503
+ namespace?: InputMaybe<Scalars['String']['input']>;
11504
+ /**
11505
+ * The resource type that the metafield definition is attached to. Used to help identify the metafield definition,
11506
+ * but can't be updated itself.
11507
+ */
11508
+ ownerType: MetafieldOwnerType;
11509
+ /** Whether to pin the metafield definition. */
11510
+ pin?: InputMaybe<Scalars['Boolean']['input']>;
11511
+ /**
11512
+ * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for
11513
+ * the metafields that belong to the metafield definition. For example, for a metafield definition with the
11514
+ * type `date`, you can set a minimum date validation so that each of the metafields that belong to it can only
11515
+ * store dates after the specified minimum.
11516
+ */
11517
+ validations?: InputMaybe<Array<MetafieldDefinitionValidationInput>>;
11518
+ };
11519
+ /** An error that occurs during the execution of `MetafieldDefinitionUpdate`. */
11520
+ type MetafieldDefinitionUpdateUserError = DisplayableError & {
11521
+ __typename?: 'MetafieldDefinitionUpdateUserError';
11522
+ /** The error code. */
11523
+ code?: Maybe<MetafieldDefinitionUpdateUserErrorCode>;
11524
+ /** The index of the array element that's causing the error. */
11525
+ elementIndex?: Maybe<Scalars['Int']['output']>;
11526
+ /** The path to the input field that caused the error. */
11527
+ field?: Maybe<Array<Scalars['String']['output']>>;
11528
+ /** The error message. */
11529
+ message: Scalars['String']['output'];
11530
+ };
11531
+ /** Possible error codes that can be returned by `MetafieldDefinitionUpdateUserError`. */
11532
+ declare enum MetafieldDefinitionUpdateUserErrorCode {
11533
+ /** Admin access can only be specified for app-owned metafield definitions. */
11534
+ AdminAccessInputNotAllowed = "ADMIN_ACCESS_INPUT_NOT_ALLOWED",
11535
+ /** Definition is managed by app configuration and cannot be modified through the API. */
11536
+ AppConfigManaged = "APP_CONFIG_MANAGED",
11537
+ /** The input value is blank. */
11538
+ Blank = "BLANK",
11539
+ /** The metafield definition capability cannot be disabled. */
11540
+ CapabilityCannotBeDisabled = "CAPABILITY_CANNOT_BE_DISABLED",
11541
+ /** A capability is required for the definition type but is disabled. */
11542
+ CapabilityRequiredButDisabled = "CAPABILITY_REQUIRED_BUT_DISABLED",
11543
+ /** Owner type can't be used in this mutation. */
11544
+ DisallowedOwnerType = "DISALLOWED_OWNER_TYPE",
11545
+ /** A duplicate option. */
11546
+ DuplicateOption = "DUPLICATE_OPTION",
11547
+ /** An internal error occurred. */
11548
+ InternalError = "INTERNAL_ERROR",
11549
+ /** The input value is invalid. */
11550
+ Invalid = "INVALID",
11551
+ /** The metafield definition capability is invalid. */
11552
+ InvalidCapability = "INVALID_CAPABILITY",
11553
+ /** The metafield definition constraints are invalid. */
11554
+ InvalidConstraints = "INVALID_CONSTRAINTS",
11555
+ /** An invalid input. */
11556
+ InvalidInput = "INVALID_INPUT",
11557
+ /** The input combination is invalid. */
11558
+ InvalidInputCombination = "INVALID_INPUT_COMBINATION",
11559
+ /** An invalid option. */
11560
+ InvalidOption = "INVALID_OPTION",
11561
+ /** Action cannot proceed. Definition is currently in use. */
11562
+ MetafieldDefinitionInUse = "METAFIELD_DEFINITION_IN_USE",
11563
+ /** You cannot change the metaobject definition pointed to by a metaobject reference metafield definition. */
11564
+ MetaobjectDefinitionChanged = "METAOBJECT_DEFINITION_CHANGED",
11565
+ /** The metafield definition wasn't found. */
11566
+ NotFound = "NOT_FOUND",
11567
+ /** You have reached the maximum allowed definitions for automated collections. */
11568
+ OwnerTypeLimitExceededForAutomatedCollections = "OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS",
11569
+ /** You have reached the maximum allowed definitions to be used as admin filters. */
11570
+ OwnerTypeLimitExceededForUseAsAdminFilters = "OWNER_TYPE_LIMIT_EXCEEDED_FOR_USE_AS_ADMIN_FILTERS",
11571
+ /** The pinned limit has been reached for the owner type. */
11572
+ PinnedLimitReached = "PINNED_LIMIT_REACHED",
11573
+ /** The input value needs to be blank. */
11574
+ Present = "PRESENT",
11575
+ /** The input value is too long. */
11576
+ TooLong = "TOO_LONG",
11577
+ /** The definition type is not eligible to be used as collection condition. */
11578
+ TypeNotAllowedForConditions = "TYPE_NOT_ALLOWED_FOR_CONDITIONS",
11579
+ /** The metafield definition does not support pinning. */
11580
+ UnsupportedPinning = "UNSUPPORTED_PINNING"
11581
+ }
11276
11582
  /**
11277
11583
  * A configured metafield definition validation.
11278
11584
  *
@@ -11349,7 +11655,7 @@ type MetafieldInput = {
11349
11655
  */
11350
11656
  namespace?: InputMaybe<Scalars['String']['input']>;
11351
11657
  /**
11352
- * The type of data that is stored in the metafield.
11658
+ * The type of data that's stored in the metafield.
11353
11659
  * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types).
11354
11660
  *
11355
11661
  * Required when creating or updating a metafield without a definition.
@@ -11424,7 +11730,7 @@ type MetafieldReferenceConnection = {
11424
11730
  /** A list of nodes that are contained in MetafieldReferenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11425
11731
  nodes: Array<Maybe<MetafieldReference>>;
11426
11732
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11427
- pageInfo: PageInfo;
11733
+ pageInfo: PageInfo$1;
11428
11734
  };
11429
11735
  /** An auto-generated type which holds one MetafieldReference and a cursor during pagination. */
11430
11736
  type MetafieldReferenceEdge = {
@@ -11465,7 +11771,7 @@ type MetafieldRelationConnection = {
11465
11771
  /** A list of nodes that are contained in MetafieldRelationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11466
11772
  nodes: Array<MetafieldRelation>;
11467
11773
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11468
- pageInfo: PageInfo;
11774
+ pageInfo: PageInfo$1;
11469
11775
  };
11470
11776
  /** An auto-generated type which holds one MetafieldRelation and a cursor during pagination. */
11471
11777
  type MetafieldRelationEdge = {
@@ -11482,6 +11788,13 @@ declare enum MetafieldStorefrontAccess {
11482
11788
  /** Read-only access. */
11483
11789
  PublicRead = "PUBLIC_READ"
11484
11790
  }
11791
+ /** Metafield access permissions for the Storefront API. */
11792
+ declare enum MetafieldStorefrontAccessInput {
11793
+ /** No access. */
11794
+ None = "NONE",
11795
+ /** Read-only access. */
11796
+ PublicRead = "PUBLIC_READ"
11797
+ }
11485
11798
  /**
11486
11799
  * Legacy type information for the stored value.
11487
11800
  * Replaced by `type`.
@@ -11496,6 +11809,82 @@ declare enum MetafieldValueType {
11496
11809
  /** A text field. */
11497
11810
  String = "STRING"
11498
11811
  }
11812
+ /** The input fields for a metafield value to set. */
11813
+ type MetafieldsSetInput = {
11814
+ /** The `compareDigest` value obtained from a previous query. Provide this with updates to ensure the metafield is modified safely. */
11815
+ compareDigest?: InputMaybe<Scalars['String']['input']>;
11816
+ /**
11817
+ * The unique identifier for a metafield within its namespace.
11818
+ *
11819
+ * Must be 2-64 characters long and can contain alphanumeric, hyphen, and underscore characters.
11820
+ */
11821
+ key: Scalars['String']['input'];
11822
+ /**
11823
+ * The container for a group of metafields that the metafield is or will be associated with. Used in tandem
11824
+ * with `key` to lookup a metafield on a resource, preventing conflicts with other metafields with the
11825
+ * same `key`. If omitted the app-reserved namespace will be used.
11826
+ *
11827
+ * Must be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters.
11828
+ */
11829
+ namespace?: InputMaybe<Scalars['String']['input']>;
11830
+ /** The unique ID of the resource that the metafield is attached to. */
11831
+ ownerId: Scalars['ID']['input'];
11832
+ /**
11833
+ * The type of data that's stored in the metafield.
11834
+ * The type must be one of the [supported types](https://shopify.dev/apps/metafields/types).
11835
+ *
11836
+ * Required when there's no corresponding definition for the given `namespace`, `key`, and
11837
+ * owner resource type (derived from `ownerId`).
11838
+ */
11839
+ type?: InputMaybe<Scalars['String']['input']>;
11840
+ /** The data stored in the metafield. Always stored as a string, regardless of the metafield's type. */
11841
+ value: Scalars['String']['input'];
11842
+ };
11843
+ /** An error that occurs during the execution of `MetafieldsSet`. */
11844
+ type MetafieldsSetUserError = DisplayableError & {
11845
+ __typename?: 'MetafieldsSetUserError';
11846
+ /** The error code. */
11847
+ code?: Maybe<MetafieldsSetUserErrorCode>;
11848
+ /** The index of the array element that's causing the error. */
11849
+ elementIndex?: Maybe<Scalars['Int']['output']>;
11850
+ /** The path to the input field that caused the error. */
11851
+ field?: Maybe<Array<Scalars['String']['output']>>;
11852
+ /** The error message. */
11853
+ message: Scalars['String']['output'];
11854
+ };
11855
+ /** Possible error codes that can be returned by `MetafieldsSetUserError`. */
11856
+ declare enum MetafieldsSetUserErrorCode {
11857
+ /** ApiPermission metafields can only be created or updated by the app owner. */
11858
+ AppNotAuthorized = "APP_NOT_AUTHORIZED",
11859
+ /** The input value is blank. */
11860
+ Blank = "BLANK",
11861
+ /** The metafield violates a capability restriction. */
11862
+ CapabilityViolation = "CAPABILITY_VIOLATION",
11863
+ /** The input value isn't included in the list. */
11864
+ Inclusion = "INCLUSION",
11865
+ /** An internal error occurred. */
11866
+ InternalError = "INTERNAL_ERROR",
11867
+ /** The input value is invalid. */
11868
+ Invalid = "INVALID",
11869
+ /** The compareDigest is invalid. */
11870
+ InvalidCompareDigest = "INVALID_COMPARE_DIGEST",
11871
+ /** The type is invalid. */
11872
+ InvalidType = "INVALID_TYPE",
11873
+ /** The value is invalid for the metafield type or for the definition options. */
11874
+ InvalidValue = "INVALID_VALUE",
11875
+ /** The input value should be less than or equal to the maximum value allowed. */
11876
+ LessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO",
11877
+ /** The input value needs to be blank. */
11878
+ Present = "PRESENT",
11879
+ /** The metafield has been modified since it was loaded. */
11880
+ StaleObject = "STALE_OBJECT",
11881
+ /** The input value is already taken. */
11882
+ Taken = "TAKEN",
11883
+ /** The input value is too long. */
11884
+ TooLong = "TOO_LONG",
11885
+ /** The input value is too short. */
11886
+ TooShort = "TOO_SHORT"
11887
+ }
11499
11888
  /**
11500
11889
  * An instance of custom structured data defined by a [`MetaobjectDefinition`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetaobjectDefinition). [Metaobjects](https://shopify.dev/docs/apps/build/custom-data#what-are-metaobjects) store reusable data that extends beyond Shopify's standard resources, such as product highlights, size charts, or custom content sections.
11501
11890
  *
@@ -11659,12 +12048,12 @@ type MetaobjectCapabilityDataOnlineStoreInput = {
11659
12048
  type MetaobjectCapabilityDataPublishable = {
11660
12049
  __typename?: 'MetaobjectCapabilityDataPublishable';
11661
12050
  /** The visibility status of this metaobject across all channels. */
11662
- status: MetaobjectStatus;
12051
+ status: MetaobjectStatus$1;
11663
12052
  };
11664
12053
  /** The input fields for publishable capability to adjust visibility on channels. */
11665
12054
  type MetaobjectCapabilityDataPublishableInput = {
11666
12055
  /** The visibility status of this metaobject across all channels. */
11667
- status: MetaobjectStatus;
12056
+ status: MetaobjectStatus$1;
11668
12057
  };
11669
12058
  /** The Online Store capability data for the metaobject definition. */
11670
12059
  type MetaobjectCapabilityDefinitionDataOnlineStore = {
@@ -11739,7 +12128,7 @@ type MetaobjectConnection = {
11739
12128
  /** A list of nodes that are contained in MetaobjectEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
11740
12129
  nodes: Array<Metaobject$1>;
11741
12130
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
11742
- pageInfo: PageInfo;
12131
+ pageInfo: PageInfo$1;
11743
12132
  };
11744
12133
  /**
11745
12134
  * Defines the structure and configuration for a custom data type in Shopify. Each definition specifies the fields, validation rules, and capabilities that apply to all [`Metaobject`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Metaobject) entries created from it.
@@ -11761,7 +12150,7 @@ type MetaobjectDefinition = Node & {
11761
12150
  /** The key of a field to reference as the display name for each object. */
11762
12151
  displayNameKey?: Maybe<Scalars['String']['output']>;
11763
12152
  /** The fields defined for this object type. */
11764
- fieldDefinitions: Array<MetaobjectFieldDefinition>;
12153
+ fieldDefinitions: Array<MetaobjectFieldDefinition$1>;
11765
12154
  /** Whether this metaobject definition has field whose type can visually represent a metaobject with the `thumbnailField`. */
11766
12155
  hasThumbnailField: Scalars['Boolean']['output'];
11767
12156
  /** A globally-unique ID. */
@@ -11798,6 +12187,14 @@ type MetaobjectDefinitionCreateInput = {
11798
12187
  */
11799
12188
  type: Scalars['String']['input'];
11800
12189
  };
12190
+ /** Return type for `metaobjectDelete` mutation. */
12191
+ type MetaobjectDeletePayload = {
12192
+ __typename?: 'MetaobjectDeletePayload';
12193
+ /** The ID of the deleted metaobject. */
12194
+ deletedId?: Maybe<Scalars['ID']['output']>;
12195
+ /** The list of errors that occurred from executing the mutation. */
12196
+ userErrors: Array<MetaobjectUserError>;
12197
+ };
11801
12198
  /** An auto-generated type which holds one Metaobject and a cursor during pagination. */
11802
12199
  type MetaobjectEdge = {
11803
12200
  __typename?: 'MetaobjectEdge';
@@ -11810,7 +12207,7 @@ type MetaobjectEdge = {
11810
12207
  type MetaobjectField = {
11811
12208
  __typename?: 'MetaobjectField';
11812
12209
  /** The field definition for this object key. */
11813
- definition: MetaobjectFieldDefinition;
12210
+ definition: MetaobjectFieldDefinition$1;
11814
12211
  /** The assigned field value in JSON format. */
11815
12212
  jsonValue?: Maybe<Scalars['JSON']['output']>;
11816
12213
  /** The object key of this field. */
@@ -11830,7 +12227,7 @@ type MetaobjectField = {
11830
12227
  * Defines a field for a MetaobjectDefinition with properties
11831
12228
  * such as the field's data type and validations.
11832
12229
  */
11833
- type MetaobjectFieldDefinition = {
12230
+ type MetaobjectFieldDefinition$1 = {
11834
12231
  __typename?: 'MetaobjectFieldDefinition';
11835
12232
  /** The administrative description. */
11836
12233
  description?: Maybe<Scalars['String']['output']>;
@@ -11882,7 +12279,7 @@ type MetaobjectHandleInput = {
11882
12279
  type: Scalars['String']['input'];
11883
12280
  };
11884
12281
  /** Defines visibility status for metaobjects. */
11885
- declare enum MetaobjectStatus {
12282
+ declare enum MetaobjectStatus$1 {
11886
12283
  /** The metaobjects is active for public use. */
11887
12284
  Active = "ACTIVE",
11888
12285
  /** The metaobjects is an internal record. */
@@ -11903,6 +12300,17 @@ type MetaobjectThumbnail = {
11903
12300
  /** The hexadecimal color code to be used for respresenting this metaobject. */
11904
12301
  hex?: Maybe<Scalars['String']['output']>;
11905
12302
  };
12303
+ /** The input fields for updating a metaobject. */
12304
+ type MetaobjectUpdateInput = {
12305
+ /** Capabilities for the metaobject. */
12306
+ capabilities?: InputMaybe<MetaobjectCapabilityDataInput>;
12307
+ /** Values for fields. These are mapped by key to fields of the metaobject definition. */
12308
+ fields?: InputMaybe<Array<MetaobjectFieldInput>>;
12309
+ /** A unique handle for the metaobject. */
12310
+ handle?: InputMaybe<Scalars['String']['input']>;
12311
+ /** Whether to create a redirect for the metaobject. */
12312
+ redirectNewHandle?: InputMaybe<Scalars['Boolean']['input']>;
12313
+ };
11906
12314
  /** The input fields for upserting a metaobject. */
11907
12315
  type MetaobjectUpsertInput = {
11908
12316
  /** Capabilities for the metaobject. */
@@ -12204,6 +12612,7 @@ type Order = CommentEventSubject & HasEvents & HasLocalizationExtensions & HasLo
12204
12612
  /**
12205
12613
  * Details about the sales channel that created the order, such as the [channel app type](https://shopify.dev/docs/api/admin-graphql/latest/objects/channel#field-Channel.fields.channelType)
12206
12614
  * and [channel name](https://shopify.dev/docs/api/admin-graphql/latest/objects/ChannelDefinition#field-ChannelDefinition.fields.channelName), which helps to track order sources.
12615
+ * @deprecated Use `attribution` instead.
12207
12616
  */
12208
12617
  channelInformation?: Maybe<ChannelInformation>;
12209
12618
  /** The IP address of the customer who placed the order. Useful for fraud detection and geographic analysis. */
@@ -12790,7 +13199,7 @@ type OrderAdjustmentConnection = {
12790
13199
  /** A list of nodes that are contained in OrderAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
12791
13200
  nodes: Array<OrderAdjustment>;
12792
13201
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
12793
- pageInfo: PageInfo;
13202
+ pageInfo: PageInfo$1;
12794
13203
  };
12795
13204
  /** Discrepancy reasons for order adjustments. */
12796
13205
  declare enum OrderAdjustmentDiscrepancyReason {
@@ -12898,7 +13307,7 @@ type OrderConnection = {
12898
13307
  /** A list of nodes that are contained in OrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
12899
13308
  nodes: Array<Order>;
12900
13309
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
12901
- pageInfo: PageInfo;
13310
+ pageInfo: PageInfo$1;
12902
13311
  };
12903
13312
  /** Represents the order's current financial status. */
12904
13313
  declare enum OrderDisplayFinancialStatus {
@@ -13184,19 +13593,25 @@ type OrderTransaction = Node & {
13184
13593
  /** Whether the transaction is a test transaction. */
13185
13594
  test: Scalars['Boolean']['output'];
13186
13595
  /**
13187
- * Specifies the available amount to capture on the gateway.
13188
- * Only available when an amount is capturable or manually mark as paid.
13596
+ * The amount of the original authorization that remains unsettled.
13597
+ * During a pending capture, this reflects the full outstanding balance including the pending amount.
13598
+ * When no capture is pending, this equals the capturable amount.
13599
+ * Only available when an amount is capturable or manually marked as paid.
13189
13600
  * @deprecated Use `totalUnsettledSet` instead.
13190
13601
  */
13191
13602
  totalUnsettled?: Maybe<Scalars['Money']['output']>;
13192
13603
  /**
13193
- * Specifies the available amount with currency to capture on the gateway in shop and presentment currencies.
13194
- * Only available when an amount is capturable or manually mark as paid.
13604
+ * The amount of the original authorization that remains unsettled, in shop and presentment currencies.
13605
+ * During a pending capture, this reflects the full outstanding balance including the pending amount.
13606
+ * When no capture is pending, this equals the capturable amount.
13607
+ * Only available when an amount is capturable or manually marked as paid.
13195
13608
  */
13196
13609
  totalUnsettledSet?: Maybe<MoneyBag>;
13197
13610
  /**
13198
- * Specifies the available amount with currency to capture on the gateway.
13199
- * Only available when an amount is capturable or manually mark as paid.
13611
+ * The amount with currency of the original authorization that remains unsettled.
13612
+ * During a pending capture, this reflects the full outstanding balance including the pending amount.
13613
+ * When no capture is pending, this equals the capturable amount.
13614
+ * Only available when an amount is capturable or manually marked as paid.
13200
13615
  * @deprecated Use `totalUnsettledSet` instead.
13201
13616
  */
13202
13617
  totalUnsettledV2?: Maybe<MoneyV2>;
@@ -13211,7 +13626,7 @@ type OrderTransactionConnection = {
13211
13626
  /** A list of nodes that are contained in OrderTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
13212
13627
  nodes: Array<OrderTransaction>;
13213
13628
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
13214
- pageInfo: PageInfo;
13629
+ pageInfo: PageInfo$1;
13215
13630
  };
13216
13631
  /** An auto-generated type which holds one OrderTransaction and a cursor during pagination. */
13217
13632
  type OrderTransactionEdge = {
@@ -13392,7 +13807,7 @@ type Page = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTr
13392
13807
  * [Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo).
13393
13808
  * For more information, please read our [GraphQL Pagination Usage Guide](https://shopify.dev/api/usage/pagination-graphql).
13394
13809
  */
13395
- type PageInfo = {
13810
+ type PageInfo$1 = {
13396
13811
  __typename?: 'PageInfo';
13397
13812
  /** The cursor corresponding to the last node in edges. */
13398
13813
  endCursor?: Maybe<Scalars['String']['output']>;
@@ -13506,7 +13921,7 @@ type PaymentScheduleConnection = {
13506
13921
  /** A list of nodes that are contained in PaymentScheduleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
13507
13922
  nodes: Array<PaymentSchedule>;
13508
13923
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
13509
- pageInfo: PageInfo;
13924
+ pageInfo: PageInfo$1;
13510
13925
  };
13511
13926
  /** An auto-generated type which holds one PaymentSchedule and a cursor during pagination. */
13512
13927
  type PaymentScheduleEdge = {
@@ -13703,7 +14118,7 @@ type PriceListPriceConnection = {
13703
14118
  /** A list of nodes that are contained in PriceListPriceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
13704
14119
  nodes: Array<PriceListPrice>;
13705
14120
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
13706
- pageInfo: PageInfo;
14121
+ pageInfo: PageInfo$1;
13707
14122
  };
13708
14123
  /** An auto-generated type which holds one PriceListPrice and a cursor during pagination. */
13709
14124
  type PriceListPriceEdge = {
@@ -13950,10 +14365,11 @@ type Product = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishe
13950
14365
  */
13951
14366
  productType: Scalars['String']['output'];
13952
14367
  /**
13953
- * The number of
14368
+ * The total number of
13954
14369
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
13955
- * that a resource is published to, without
14370
+ * that a resource is published to, including publications with
13956
14371
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
14372
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
13957
14373
  * @deprecated Use `resourcePublicationsCount` instead.
13958
14374
  */
13959
14375
  publicationCount: Scalars['Int']['output'];
@@ -14009,15 +14425,20 @@ type Product = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishe
14009
14425
  */
14010
14426
  resourcePublications: ResourcePublicationConnection;
14011
14427
  /**
14012
- * The number of
14428
+ * The total number of
14013
14429
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
14014
- * that a resource is published to, without
14430
+ * that a resource is published to, including publications with
14015
14431
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
14432
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
14016
14433
  */
14017
14434
  resourcePublicationsCount?: Maybe<Count>;
14018
14435
  /**
14019
14436
  * The list of resources that are either published or staged to be published to a
14020
14437
  * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).
14438
+ * By default, only publications to `APP` catalog types are returned.
14439
+ * For `Product` and `ProductVariant`, use the `catalogType` argument to retrieve
14440
+ * publications for other catalog types, such as `COMPANY_LOCATION` (B2B) or `MARKET`.
14441
+ * `Collection` only supports publications to `APP` catalog types.
14021
14442
  */
14022
14443
  resourcePublicationsV2: ResourcePublicationV2Connection;
14023
14444
  /**
@@ -14158,7 +14579,7 @@ type ProductBundleComponentConnection = {
14158
14579
  /** A list of nodes that are contained in ProductBundleComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14159
14580
  nodes: Array<ProductBundleComponent>;
14160
14581
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14161
- pageInfo: PageInfo;
14582
+ pageInfo: PageInfo$1;
14162
14583
  };
14163
14584
  /** An auto-generated type which holds one ProductBundleComponent and a cursor during pagination. */
14164
14585
  type ProductBundleComponentEdge = {
@@ -14251,7 +14672,7 @@ type ProductComponentTypeConnection = {
14251
14672
  /** A list of nodes that are contained in ProductComponentTypeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14252
14673
  nodes: Array<ProductComponentType>;
14253
14674
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14254
- pageInfo: PageInfo;
14675
+ pageInfo: PageInfo$1;
14255
14676
  };
14256
14677
  /** An auto-generated type which holds one ProductComponentType and a cursor during pagination. */
14257
14678
  type ProductComponentTypeEdge = {
@@ -14269,7 +14690,7 @@ type ProductConnection = {
14269
14690
  /** A list of nodes that are contained in ProductEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14270
14691
  nodes: Array<Product>;
14271
14692
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14272
- pageInfo: PageInfo;
14693
+ pageInfo: PageInfo$1;
14273
14694
  };
14274
14695
  /** The price of a [product](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) in a specific country. Shows the minimum and maximum variant prices through the price range and the count of fixed quantity rules that apply to the product's variants in the given pricing context. */
14275
14696
  type ProductContextualPricing = {
@@ -14381,7 +14802,7 @@ type ProductPublicationConnection = {
14381
14802
  /** A list of nodes that are contained in ProductPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14382
14803
  nodes: Array<ProductPublication>;
14383
14804
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14384
- pageInfo: PageInfo;
14805
+ pageInfo: PageInfo$1;
14385
14806
  };
14386
14807
  /** An auto-generated type which holds one ProductPublication and a cursor during pagination. */
14387
14808
  type ProductPublicationEdge = {
@@ -14589,7 +15010,7 @@ type ProductVariantComponentConnection = {
14589
15010
  /** A list of nodes that are contained in ProductVariantComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14590
15011
  nodes: Array<ProductVariantComponent>;
14591
15012
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14592
- pageInfo: PageInfo;
15013
+ pageInfo: PageInfo$1;
14593
15014
  };
14594
15015
  /** An auto-generated type which holds one ProductVariantComponent and a cursor during pagination. */
14595
15016
  type ProductVariantComponentEdge = {
@@ -14607,7 +15028,7 @@ type ProductVariantConnection = {
14607
15028
  /** A list of nodes that are contained in ProductVariantEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14608
15029
  nodes: Array<ProductVariant$1>;
14609
15030
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14610
- pageInfo: PageInfo;
15031
+ pageInfo: PageInfo$1;
14611
15032
  };
14612
15033
  /**
14613
15034
  * The price of a product variant in a specific country.
@@ -14657,7 +15078,7 @@ type ProductVariantPricePairConnection = {
14657
15078
  /** A list of nodes that are contained in ProductVariantPricePairEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14658
15079
  nodes: Array<ProductVariantPricePair>;
14659
15080
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14660
- pageInfo: PageInfo;
15081
+ pageInfo: PageInfo$1;
14661
15082
  };
14662
15083
  /** An auto-generated type which holds one ProductVariantPricePair and a cursor during pagination. */
14663
15084
  type ProductVariantPricePairEdge = {
@@ -14825,7 +15246,7 @@ type PublicationConnection = {
14825
15246
  /** A list of nodes that are contained in PublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14826
15247
  nodes: Array<Publication>;
14827
15248
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14828
- pageInfo: PageInfo;
15249
+ pageInfo: PageInfo$1;
14829
15250
  };
14830
15251
  /** An auto-generated type which holds one Publication and a cursor during pagination. */
14831
15252
  type PublicationEdge = {
@@ -14862,10 +15283,11 @@ type Publishable = {
14862
15283
  */
14863
15284
  availablePublicationsCount?: Maybe<Count>;
14864
15285
  /**
14865
- * The number of
15286
+ * The total number of
14866
15287
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
14867
- * that a resource is published to, without
15288
+ * that a resource is published to, including publications with
14868
15289
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
15290
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
14869
15291
  * @deprecated Use `resourcePublicationsCount` instead.
14870
15292
  */
14871
15293
  publicationCount: Scalars['Int']['output'];
@@ -14899,15 +15321,20 @@ type Publishable = {
14899
15321
  */
14900
15322
  resourcePublications: ResourcePublicationConnection;
14901
15323
  /**
14902
- * The number of
15324
+ * The total number of
14903
15325
  * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)
14904
- * that a resource is published to, without
15326
+ * that a resource is published to, including publications with
14905
15327
  * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).
15328
+ * To get a count that excludes publications with feedback errors, use `availablePublicationsCount`.
14906
15329
  */
14907
15330
  resourcePublicationsCount?: Maybe<Count>;
14908
15331
  /**
14909
15332
  * The list of resources that are either published or staged to be published to a
14910
15333
  * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).
15334
+ * By default, only publications to `APP` catalog types are returned.
15335
+ * For `Product` and `ProductVariant`, use the `catalogType` argument to retrieve
15336
+ * publications for other catalog types, such as `COMPANY_LOCATION` (B2B) or `MARKET`.
15337
+ * `Collection` only supports publications to `APP` catalog types.
14911
15338
  */
14912
15339
  resourcePublicationsV2: ResourcePublicationV2Connection;
14913
15340
  /**
@@ -14958,7 +15385,7 @@ type QuantityPriceBreakConnection = {
14958
15385
  /** A list of nodes that are contained in QuantityPriceBreakEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
14959
15386
  nodes: Array<QuantityPriceBreak>;
14960
15387
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
14961
- pageInfo: PageInfo;
15388
+ pageInfo: PageInfo$1;
14962
15389
  };
14963
15390
  /** An auto-generated type which holds one QuantityPriceBreak and a cursor during pagination. */
14964
15391
  type QuantityPriceBreakEdge = {
@@ -15004,7 +15431,7 @@ type QuantityRuleConnection = {
15004
15431
  /** A list of nodes that are contained in QuantityRuleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15005
15432
  nodes: Array<QuantityRule>;
15006
15433
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15007
- pageInfo: PageInfo;
15434
+ pageInfo: PageInfo$1;
15008
15435
  };
15009
15436
  /** An auto-generated type which holds one QuantityRule and a cursor during pagination. */
15010
15437
  type QuantityRuleEdge = {
@@ -15102,7 +15529,7 @@ type RefundConnection = {
15102
15529
  /** A list of nodes that are contained in RefundEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15103
15530
  nodes: Array<Refund>;
15104
15531
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15105
- pageInfo: PageInfo;
15532
+ pageInfo: PageInfo$1;
15106
15533
  };
15107
15534
  /** Represents a refunded duty. */
15108
15535
  type RefundDuty = {
@@ -15208,7 +15635,7 @@ type RefundLineItemConnection = {
15208
15635
  /** A list of nodes that are contained in RefundLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15209
15636
  nodes: Array<RefundLineItem>;
15210
15637
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15211
- pageInfo: PageInfo;
15638
+ pageInfo: PageInfo$1;
15212
15639
  };
15213
15640
  /** An auto-generated type which holds one RefundLineItem and a cursor during pagination. */
15214
15641
  type RefundLineItemEdge = {
@@ -15275,7 +15702,7 @@ type RefundShippingLineConnection = {
15275
15702
  /** A list of nodes that are contained in RefundShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15276
15703
  nodes: Array<RefundShippingLine>;
15277
15704
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15278
- pageInfo: PageInfo;
15705
+ pageInfo: PageInfo$1;
15279
15706
  };
15280
15707
  /** An auto-generated type which holds one RefundShippingLine and a cursor during pagination. */
15281
15708
  type RefundShippingLineEdge = {
@@ -15428,7 +15855,7 @@ type ResourcePublicationConnection = {
15428
15855
  /** A list of nodes that are contained in ResourcePublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15429
15856
  nodes: Array<ResourcePublication>;
15430
15857
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15431
- pageInfo: PageInfo;
15858
+ pageInfo: PageInfo$1;
15432
15859
  };
15433
15860
  /** An auto-generated type which holds one ResourcePublication and a cursor during pagination. */
15434
15861
  type ResourcePublicationEdge = {
@@ -15466,7 +15893,7 @@ type ResourcePublicationV2Connection = {
15466
15893
  /** A list of nodes that are contained in ResourcePublicationV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15467
15894
  nodes: Array<ResourcePublicationV2>;
15468
15895
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15469
- pageInfo: PageInfo;
15896
+ pageInfo: PageInfo$1;
15470
15897
  };
15471
15898
  /** An auto-generated type which holds one ResourcePublicationV2 and a cursor during pagination. */
15472
15899
  type ResourcePublicationV2Edge = {
@@ -15548,7 +15975,7 @@ type ReturnConnection = {
15548
15975
  /** A list of nodes that are contained in ReturnEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15549
15976
  nodes: Array<Return>;
15550
15977
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15551
- pageInfo: PageInfo;
15978
+ pageInfo: PageInfo$1;
15552
15979
  };
15553
15980
  /** Additional information about why a merchant declined the customer's return request. */
15554
15981
  type ReturnDecline = {
@@ -15609,7 +16036,7 @@ type ReturnLineItemTypeConnection = {
15609
16036
  /** A list of nodes that are contained in ReturnLineItemTypeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15610
16037
  nodes: Array<ReturnLineItemType>;
15611
16038
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15612
- pageInfo: PageInfo;
16039
+ pageInfo: PageInfo$1;
15613
16040
  };
15614
16041
  /** An auto-generated type which holds one ReturnLineItemType and a cursor during pagination. */
15615
16042
  type ReturnLineItemTypeEdge = {
@@ -15690,7 +16117,7 @@ type ReverseDeliveryConnection = {
15690
16117
  /** A list of nodes that are contained in ReverseDeliveryEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15691
16118
  nodes: Array<ReverseDelivery>;
15692
16119
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15693
- pageInfo: PageInfo;
16120
+ pageInfo: PageInfo$1;
15694
16121
  };
15695
16122
  /** The delivery method and artifacts associated with a reverse delivery. */
15696
16123
  type ReverseDeliveryDeliverable = ReverseDeliveryShippingDeliverable;
@@ -15732,7 +16159,7 @@ type ReverseDeliveryLineItemConnection = {
15732
16159
  /** A list of nodes that are contained in ReverseDeliveryLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15733
16160
  nodes: Array<ReverseDeliveryLineItem>;
15734
16161
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15735
- pageInfo: PageInfo;
16162
+ pageInfo: PageInfo$1;
15736
16163
  };
15737
16164
  /** An auto-generated type which holds one ReverseDeliveryLineItem and a cursor during pagination. */
15738
16165
  type ReverseDeliveryLineItemEdge = {
@@ -15790,7 +16217,7 @@ type ReverseFulfillmentOrderConnection = {
15790
16217
  /** A list of nodes that are contained in ReverseFulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15791
16218
  nodes: Array<ReverseFulfillmentOrder>;
15792
16219
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15793
- pageInfo: PageInfo;
16220
+ pageInfo: PageInfo$1;
15794
16221
  };
15795
16222
  /** The details of the arrangement of an item. */
15796
16223
  type ReverseFulfillmentOrderDisposition = Node & {
@@ -15831,7 +16258,7 @@ type ReverseFulfillmentOrderLineItem = Node & {
15831
16258
  /** The dispositions of the item. */
15832
16259
  dispositions: Array<ReverseFulfillmentOrderDisposition>;
15833
16260
  /** The corresponding fulfillment line item for a reverse fulfillment order line item. */
15834
- fulfillmentLineItem?: Maybe<FulfillmentLineItem>;
16261
+ fulfillmentLineItem?: Maybe<FulfillmentLineItem$1>;
15835
16262
  /** A globally-unique ID. */
15836
16263
  id: Scalars['ID']['output'];
15837
16264
  /** The total number of units to be processed. */
@@ -15845,7 +16272,7 @@ type ReverseFulfillmentOrderLineItemConnection = {
15845
16272
  /** A list of nodes that are contained in ReverseFulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15846
16273
  nodes: Array<ReverseFulfillmentOrderLineItem>;
15847
16274
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15848
- pageInfo: PageInfo;
16275
+ pageInfo: PageInfo$1;
15849
16276
  };
15850
16277
  /** An auto-generated type which holds one ReverseFulfillmentOrderLineItem and a cursor during pagination. */
15851
16278
  type ReverseFulfillmentOrderLineItemEdge = {
@@ -15971,7 +16398,7 @@ type SaleConnection = {
15971
16398
  /** A list of nodes that are contained in SaleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
15972
16399
  nodes: Array<Sale>;
15973
16400
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
15974
- pageInfo: PageInfo;
16401
+ pageInfo: PageInfo$1;
15975
16402
  };
15976
16403
  /** An auto-generated type which holds one Sale and a cursor during pagination. */
15977
16404
  type SaleEdge = {
@@ -16035,7 +16462,7 @@ type SalesAgreementConnection = {
16035
16462
  /** A list of nodes that are contained in SalesAgreementEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
16036
16463
  nodes: Array<SalesAgreement>;
16037
16464
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
16038
- pageInfo: PageInfo;
16465
+ pageInfo: PageInfo$1;
16039
16466
  };
16040
16467
  /** An auto-generated type which holds one SalesAgreement and a cursor during pagination. */
16041
16468
  type SalesAgreementEdge = {
@@ -16045,6 +16472,35 @@ type SalesAgreementEdge = {
16045
16472
  /** The item at the end of SalesAgreementEdge. */
16046
16473
  node: SalesAgreement;
16047
16474
  };
16475
+ /**
16476
+ * Script discount applications capture the intentions of a discount that
16477
+ * was created by a Shopify Script for an order's line item or shipping line.
16478
+ *
16479
+ * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.
16480
+ */
16481
+ type ScriptDiscountApplication = DiscountApplication & {
16482
+ __typename?: 'ScriptDiscountApplication';
16483
+ /** The method by which the discount's value is applied to its entitled items. */
16484
+ allocationMethod: DiscountApplicationAllocationMethod;
16485
+ /**
16486
+ * The description of the application as defined by the Script.
16487
+ * @deprecated Use `title` instead.
16488
+ */
16489
+ description: Scalars['String']['output'];
16490
+ /**
16491
+ * An ordered index that can be used to identify the discount application and indicate the precedence
16492
+ * of the discount application for calculations.
16493
+ */
16494
+ index: Scalars['Int']['output'];
16495
+ /** How the discount amount is distributed on the discounted lines. */
16496
+ targetSelection: DiscountApplicationTargetSelection;
16497
+ /** Whether the discount is applied on line items or shipping lines. */
16498
+ targetType: DiscountApplicationTargetType;
16499
+ /** The title of the application as defined by the Script. */
16500
+ title: Scalars['String']['output'];
16501
+ /** The value of the discount application. */
16502
+ value: PricingValue;
16503
+ };
16048
16504
  /** A list of search filters along with their specific options in value and label pair for filtering. */
16049
16505
  type SearchFilterOptions = {
16050
16506
  __typename?: 'SearchFilterOptions';
@@ -16071,7 +16527,7 @@ type SearchResultConnection = {
16071
16527
  /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
16072
16528
  edges: Array<SearchResultEdge>;
16073
16529
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
16074
- pageInfo: PageInfo;
16530
+ pageInfo: PageInfo$1;
16075
16531
  /**
16076
16532
  * An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.
16077
16533
  * @deprecated The provided information is not accurate.
@@ -16293,7 +16749,7 @@ type SellingPlanConnection = {
16293
16749
  /** A list of nodes that are contained in SellingPlanEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
16294
16750
  nodes: Array<SellingPlan>;
16295
16751
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
16296
- pageInfo: PageInfo;
16752
+ pageInfo: PageInfo$1;
16297
16753
  };
16298
16754
  /**
16299
16755
  * Represents the delivery frequency associated to the selling plan (for example, deliver every month, or deliver
@@ -16444,7 +16900,7 @@ type SellingPlanGroupConnection = {
16444
16900
  /** A list of nodes that are contained in SellingPlanGroupEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
16445
16901
  nodes: Array<SellingPlanGroup>;
16446
16902
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
16447
- pageInfo: PageInfo;
16903
+ pageInfo: PageInfo$1;
16448
16904
  };
16449
16905
  /** An auto-generated type which holds one SellingPlanGroup and a cursor during pagination. */
16450
16906
  type SellingPlanGroupEdge = {
@@ -16576,6 +17032,8 @@ declare enum SellingPlanRemainingBalanceChargeTrigger {
16576
17032
  ExactTime = "EXACT_TIME",
16577
17033
  /** When there's no remaining balance to be charged after checkout. */
16578
17034
  NoRemainingBalance = "NO_REMAINING_BALANCE",
17035
+ /** When the order is fulfilled. */
17036
+ OnFulfillment = "ON_FULFILLMENT",
16579
17037
  /** After the duration defined by the remaining_balance_charge_time_after_checkout field. */
16580
17038
  TimeAfterCheckout = "TIME_AFTER_CHECKOUT"
16581
17039
  }
@@ -16664,7 +17122,7 @@ type ShippingLineConnection = {
16664
17122
  /** A list of nodes that are contained in ShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
16665
17123
  nodes: Array<ShippingLine>;
16666
17124
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
16667
- pageInfo: PageInfo;
17125
+ pageInfo: PageInfo$1;
16668
17126
  };
16669
17127
  /** An auto-generated type which holds one ShippingLine and a cursor during pagination. */
16670
17128
  type ShippingLineEdge = {
@@ -17209,7 +17667,7 @@ type ShopPlan = {
17209
17667
  displayName: Scalars['String']['output'];
17210
17668
  /** Whether the shop is a partner development shop for testing purposes. */
17211
17669
  partnerDevelopment: Scalars['Boolean']['output'];
17212
- /** The public display name of the shop's billing plan. Possible values are: Advanced, Agentic, Agentic Enterprise, Basic, Development, Grow, Inactive, Lite, Other, Paused, Plus, Plus Trial, Retail, Shop Component, Shopify Finance, Staff Business, Starter, and Trial. */
17670
+ /** The public display name of the shop's billing plan. Possible values are: Advanced, Agentic, Agentic Enterprise, Basic, Development, Grow, Inactive, Lite, Other, Paused, Plus, Plus Trial, Retail, Shop Component, Staff Business, Starter, and Trial. */
17213
17671
  publicDisplayName: Scalars['String']['output'];
17214
17672
  /** Whether the shop has a Shopify Plus subscription. */
17215
17673
  shopifyPlus: Scalars['Boolean']['output'];
@@ -17420,7 +17878,7 @@ type ShopifyPaymentsBalanceTransactionConnection = {
17420
17878
  /** A list of nodes that are contained in ShopifyPaymentsBalanceTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
17421
17879
  nodes: Array<ShopifyPaymentsBalanceTransaction>;
17422
17880
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
17423
- pageInfo: PageInfo;
17881
+ pageInfo: PageInfo$1;
17424
17882
  };
17425
17883
  /** An auto-generated type which holds one ShopifyPaymentsBalanceTransaction and a cursor during pagination. */
17426
17884
  type ShopifyPaymentsBalanceTransactionEdge = {
@@ -17481,7 +17939,7 @@ type ShopifyPaymentsBankAccountConnection = {
17481
17939
  /** A list of nodes that are contained in ShopifyPaymentsBankAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
17482
17940
  nodes: Array<ShopifyPaymentsBankAccount>;
17483
17941
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
17484
- pageInfo: PageInfo;
17942
+ pageInfo: PageInfo$1;
17485
17943
  };
17486
17944
  /** An auto-generated type which holds one ShopifyPaymentsBankAccount and a cursor during pagination. */
17487
17945
  type ShopifyPaymentsBankAccountEdge = {
@@ -17543,7 +18001,7 @@ type ShopifyPaymentsDisputeConnection = {
17543
18001
  /** A list of nodes that are contained in ShopifyPaymentsDisputeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
17544
18002
  nodes: Array<ShopifyPaymentsDispute>;
17545
18003
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
17546
- pageInfo: PageInfo;
18004
+ pageInfo: PageInfo$1;
17547
18005
  };
17548
18006
  /** An auto-generated type which holds one ShopifyPaymentsDispute and a cursor during pagination. */
17549
18007
  type ShopifyPaymentsDisputeEdge = {
@@ -17645,7 +18103,7 @@ type ShopifyPaymentsPayoutConnection = {
17645
18103
  /** A list of nodes that are contained in ShopifyPaymentsPayoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
17646
18104
  nodes: Array<ShopifyPaymentsPayout>;
17647
18105
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
17648
- pageInfo: PageInfo;
18106
+ pageInfo: PageInfo$1;
17649
18107
  };
17650
18108
  /** An auto-generated type which holds one ShopifyPaymentsPayout and a cursor during pagination. */
17651
18109
  type ShopifyPaymentsPayoutEdge = {
@@ -17791,14 +18249,6 @@ declare enum ShopifyPaymentsTransactionType {
17791
18249
  Advance = "ADVANCE",
17792
18250
  /** The advance funding transaction type. */
17793
18251
  AdvanceFunding = "ADVANCE_FUNDING",
17794
- /** The agentic_fee_tax_credit transaction type. */
17795
- AgenticFeeTaxCredit = "AGENTIC_FEE_TAX_CREDIT",
17796
- /** The agentic_fee_tax_credit_reversal transaction type. */
17797
- AgenticFeeTaxCreditReversal = "AGENTIC_FEE_TAX_CREDIT_REVERSAL",
17798
- /** The agentic_fee_tax_debit transaction type. */
17799
- AgenticFeeTaxDebit = "AGENTIC_FEE_TAX_DEBIT",
17800
- /** The agentic_fee_tax_debit_reversal transaction type. */
17801
- AgenticFeeTaxDebitReversal = "AGENTIC_FEE_TAX_DEBIT_REVERSAL",
17802
18252
  /** The anomaly_credit transaction type. */
17803
18253
  AnomalyCredit = "ANOMALY_CREDIT",
17804
18254
  /** The anomaly_credit_reversal transaction type. */
@@ -18098,7 +18548,7 @@ type StaffMemberConnection = {
18098
18548
  /** A list of nodes that are contained in StaffMemberEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18099
18549
  nodes: Array<StaffMember>;
18100
18550
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18101
- pageInfo: PageInfo;
18551
+ pageInfo: PageInfo$1;
18102
18552
  };
18103
18553
  /** An auto-generated type which holds one StaffMember and a cursor during pagination. */
18104
18554
  type StaffMemberEdge = {
@@ -18296,7 +18746,7 @@ type StoreCreditAccountConnection = {
18296
18746
  /** A list of nodes that are contained in StoreCreditAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18297
18747
  nodes: Array<StoreCreditAccount>;
18298
18748
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18299
- pageInfo: PageInfo;
18749
+ pageInfo: PageInfo$1;
18300
18750
  };
18301
18751
  /** An auto-generated type which holds one StoreCreditAccount and a cursor during pagination. */
18302
18752
  type StoreCreditAccountEdge = {
@@ -18329,7 +18779,7 @@ type StoreCreditAccountTransactionConnection = {
18329
18779
  /** A list of nodes that are contained in StoreCreditAccountTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18330
18780
  nodes: Array<StoreCreditAccountTransaction>;
18331
18781
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18332
- pageInfo: PageInfo;
18782
+ pageInfo: PageInfo$1;
18333
18783
  };
18334
18784
  /** An auto-generated type which holds one StoreCreditAccountTransaction and a cursor during pagination. */
18335
18785
  type StoreCreditAccountTransactionEdge = {
@@ -18395,7 +18845,7 @@ type StorefrontAccessTokenConnection = {
18395
18845
  /** A list of nodes that are contained in StorefrontAccessTokenEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18396
18846
  nodes: Array<StorefrontAccessToken>;
18397
18847
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18398
- pageInfo: PageInfo;
18848
+ pageInfo: PageInfo$1;
18399
18849
  };
18400
18850
  /** An auto-generated type which holds one StorefrontAccessToken and a cursor during pagination. */
18401
18851
  type StorefrontAccessTokenEdge = {
@@ -18413,7 +18863,7 @@ type StringConnection = {
18413
18863
  /** A list of nodes that are contained in StringEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18414
18864
  nodes: Array<Scalars['String']['output']>;
18415
18865
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18416
- pageInfo: PageInfo;
18866
+ pageInfo: PageInfo$1;
18417
18867
  };
18418
18868
  /** An auto-generated type which holds one String and a cursor during pagination. */
18419
18869
  type StringEdge = {
@@ -18503,7 +18953,7 @@ type SubscriptionBillingAttemptConnection = {
18503
18953
  /** A list of nodes that are contained in SubscriptionBillingAttemptEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18504
18954
  nodes: Array<SubscriptionBillingAttempt>;
18505
18955
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18506
- pageInfo: PageInfo;
18956
+ pageInfo: PageInfo$1;
18507
18957
  };
18508
18958
  /** An auto-generated type which holds one SubscriptionBillingAttempt and a cursor during pagination. */
18509
18959
  type SubscriptionBillingAttemptEdge = {
@@ -18706,7 +19156,7 @@ type SubscriptionContractConnection = {
18706
19156
  /** A list of nodes that are contained in SubscriptionContractEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18707
19157
  nodes: Array<SubscriptionContract>;
18708
19158
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18709
- pageInfo: PageInfo;
19159
+ pageInfo: PageInfo$1;
18710
19160
  };
18711
19161
  /** An auto-generated type which holds one SubscriptionContract and a cursor during pagination. */
18712
19162
  type SubscriptionContractEdge = {
@@ -18978,7 +19428,7 @@ type SubscriptionLineConnection = {
18978
19428
  /** A list of nodes that are contained in SubscriptionLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
18979
19429
  nodes: Array<SubscriptionLine>;
18980
19430
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
18981
- pageInfo: PageInfo;
19431
+ pageInfo: PageInfo$1;
18982
19432
  };
18983
19433
  /** An auto-generated type which holds one SubscriptionLine and a cursor during pagination. */
18984
19434
  type SubscriptionLineEdge = {
@@ -19018,7 +19468,7 @@ type SubscriptionManualDiscountConnection = {
19018
19468
  /** A list of nodes that are contained in SubscriptionManualDiscountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
19019
19469
  nodes: Array<SubscriptionManualDiscount>;
19020
19470
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
19021
- pageInfo: PageInfo;
19471
+ pageInfo: PageInfo$1;
19022
19472
  };
19023
19473
  /** An auto-generated type which holds one SubscriptionManualDiscount and a cursor during pagination. */
19024
19474
  type SubscriptionManualDiscountEdge = {
@@ -19201,6 +19651,8 @@ declare enum TaxExemption {
19201
19651
  CaMbFarmerExemption = "CA_MB_FARMER_EXEMPTION",
19202
19652
  /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Manitoba. */
19203
19653
  CaMbResellerExemption = "CA_MB_RESELLER_EXEMPTION",
19654
+ /** This customer is exempt from VPT (Vapour Products Tax) for holding a valid VPT_RESELLER_EXEMPTION in Newfoundland and Labrador. */
19655
+ CaNlVptResellerExemption = "CA_NL_VPT_RESELLER_EXEMPTION",
19204
19656
  /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Nova Scotia. */
19205
19657
  CaNsCommercialFisheryExemption = "CA_NS_COMMERCIAL_FISHERY_EXEMPTION",
19206
19658
  /** This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Nova Scotia. */
@@ -19221,6 +19673,8 @@ declare enum TaxExemption {
19221
19673
  CaSkResellerExemption = "CA_SK_RESELLER_EXEMPTION",
19222
19674
  /** This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in Saskatchewan. */
19223
19675
  CaSkSubContractorExemption = "CA_SK_SUB_CONTRACTOR_EXEMPTION",
19676
+ /** This customer is exempt from VPT (Vapour Products Tax) for holding a valid VPT_RESELLER_EXEMPTION in Saskatchewan. */
19677
+ CaSkVptResellerExemption = "CA_SK_VPT_RESELLER_EXEMPTION",
19224
19678
  /** This customer is exempt from specific taxes for holding a valid STATUS_CARD_EXEMPTION in Canada. */
19225
19679
  CaStatusCardExemption = "CA_STATUS_CARD_EXEMPTION",
19226
19680
  /** This customer is exempt from VAT for purchases within the EU that is shipping from outside of customer's country, as well as purchases from the EU to the UK. */
@@ -19399,7 +19853,7 @@ type TaxonomyCategoryAttributeConnection = {
19399
19853
  /** A list of nodes that are contained in TaxonomyCategoryAttributeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
19400
19854
  nodes: Array<TaxonomyCategoryAttribute>;
19401
19855
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
19402
- pageInfo: PageInfo;
19856
+ pageInfo: PageInfo$1;
19403
19857
  };
19404
19858
  /** An auto-generated type which holds one TaxonomyCategoryAttribute and a cursor during pagination. */
19405
19859
  type TaxonomyCategoryAttributeEdge = {
@@ -19445,7 +19899,7 @@ type TaxonomyValueConnection = {
19445
19899
  /** A list of nodes that are contained in TaxonomyValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
19446
19900
  nodes: Array<TaxonomyValue>;
19447
19901
  /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
19448
- pageInfo: PageInfo;
19902
+ pageInfo: PageInfo$1;
19449
19903
  };
19450
19904
  /** An auto-generated type which holds one TaxonomyValue and a cursor during pagination. */
19451
19905
  type TaxonomyValueEdge = {
@@ -19776,6 +20230,148 @@ declare enum WeightUnit {
19776
20230
  Pounds = "POUNDS"
19777
20231
  }
19778
20232
 
20233
+ type MetaobjectFieldDefinition = {
20234
+ key: string;
20235
+ name?: string;
20236
+ type: string;
20237
+ description?: string;
20238
+ required?: boolean;
20239
+ validations?: Array<{
20240
+ name: string;
20241
+ value: string;
20242
+ }>;
20243
+ };
20244
+ type CreateMetaobjectDefinitionInput = {
20245
+ type: string;
20246
+ name?: string;
20247
+ description?: string;
20248
+ displayNameKey?: string;
20249
+ fieldDefinitions: MetaobjectFieldDefinition[];
20250
+ /** Admin/Storefront access controls (e.g. `{ storefront: 'PUBLIC_READ' }`). */
20251
+ access?: MetaobjectAccessInput;
20252
+ /** Capabilities to enable (e.g. `{ publishable: { enabled: true } }`). */
20253
+ capabilities?: MetaobjectCapabilityCreateInput;
20254
+ };
20255
+ type CreateMetaobjectDefinitionResult = {
20256
+ id: string;
20257
+ name: string;
20258
+ type: string;
20259
+ };
20260
+ /**
20261
+ * Creates a metaobject definition in Shopify.
20262
+ *
20263
+ * @param input - The metaobject definition input
20264
+ * @param retries - Number of retries on transient errors. Defaults to 0; not retried by default to avoid duplicate definition creation.
20265
+ * @returns Promise resolving to the created metaobject definition
20266
+ * @throws {ShopifyUserError} When the mutation fails
20267
+ * @throws {Error} When GraphQL errors occur
20268
+ *
20269
+ * @example
20270
+ * await createMetaobjectDefinition({
20271
+ * type: 'my_custom_type',
20272
+ * name: 'My Custom Type',
20273
+ * description: 'A custom metaobject definition',
20274
+ * fieldDefinitions: [
20275
+ * { key: 'title', name: 'Title', type: 'single_line_text_field' },
20276
+ * { key: 'description', name: 'Description', type: 'multi_line_text_field' },
20277
+ * ],
20278
+ * })
20279
+ */
20280
+ declare function createMetaobjectDefinition(input: CreateMetaobjectDefinitionInput, retries?: number): Promise<CreateMetaobjectDefinitionResult>;
20281
+
20282
+ type FulfillmentLineItem = {
20283
+ id: number | bigint | string;
20284
+ quantity: number;
20285
+ };
20286
+ type CreateFulfillmentResult = {
20287
+ id: string;
20288
+ status: string;
20289
+ trackingInfo: {
20290
+ company: string | null;
20291
+ number: string | null;
20292
+ }[];
20293
+ };
20294
+ /**
20295
+ * Creates a fulfillment for a fulfillment order with optional tracking info.
20296
+ *
20297
+ * @param fulfillmentOrderId - The fulfillment order ID (numeric, bigint, or GID string)
20298
+ * @param fulfillmentOrderLineItems - Line items to fulfill with their quantities
20299
+ * @param options - Optional tracking and notification settings
20300
+ * @param retries - Number of retries on transient errors. Defaults to 0; fulfillmentCreate is not idempotent — a retry after a successful-but-lost response would create a duplicate fulfillment, double-decrement inventory, and may trigger duplicate customer emails.
20301
+ * @returns Promise resolving to the created fulfillment
20302
+ * @throws {ShopifyUserError} When the mutation fails
20303
+ * @throws {Error} When GraphQL errors occur
20304
+ *
20305
+ * @example
20306
+ * // Fulfill specific line items without tracking
20307
+ * await createFulfillment(123456789, [{ id: 111, quantity: 2 }])
20308
+ *
20309
+ * // Fulfill all items without tracking
20310
+ * await createFulfillment(123456789, [])
20311
+ *
20312
+ * // Fulfill with tracking info
20313
+ * await createFulfillment(
20314
+ * 123456789,
20315
+ * [{ id: 111, quantity: 2 }],
20316
+ * { trackingNumber: 'TRACK123', carrier: 'DHL', notifyCustomer: true }
20317
+ * )
20318
+ */
20319
+ declare function createFulfillment(fulfillmentOrderId: number | bigint | string, fulfillmentOrderLineItems: FulfillmentLineItem[], options?: {
20320
+ trackingNumber?: string;
20321
+ carrier?: string;
20322
+ trackingUrl?: string;
20323
+ notifyCustomer?: boolean;
20324
+ }, retries?: number): Promise<CreateFulfillmentResult>;
20325
+
20326
+ type UpdateFulfillmentTrackingResult = {
20327
+ trackingNumbers: string[];
20328
+ trackingCompany: string | null;
20329
+ };
20330
+ /**
20331
+ * Adds a tracking number to an existing fulfillment.
20332
+ * Fetches existing tracking info and appends the new tracking number.
20333
+ *
20334
+ * @param fulfillmentId - The fulfillment ID (numeric, bigint, or GID string)
20335
+ * @param trackingNumber - The new tracking number to add
20336
+ * @param notifyCustomer - Whether to notify the customer (default: false)
20337
+ * @param retries - Number of retries on transient errors. Defaults to 1.
20338
+ * @returns Promise resolving to the updated tracking info
20339
+ * @throws {ShopifyUserError} When the mutation fails
20340
+ * @throws {Error} When fulfillment not found or GraphQL errors occur
20341
+ *
20342
+ * @example
20343
+ * // Add tracking to fulfillment, don't notify customer yet
20344
+ * await updateFulfillmentTracking(123456789, 'TRACK123')
20345
+ *
20346
+ * // Add tracking and notify customer (e.g., last item in order)
20347
+ * await updateFulfillmentTracking(123456789, 'TRACK456', true)
20348
+ */
20349
+ declare function updateFulfillmentTracking(fulfillmentId: number | bigint | string, trackingNumber: string, notifyCustomer?: boolean, retries?: number): Promise<UpdateFulfillmentTrackingResult>;
20350
+
20351
+ /**
20352
+ * Cancel an order in Shopify.
20353
+ *
20354
+ * @param orderId - The order ID (numeric, bigint, or GID string)
20355
+ * @param retries - Number of retries on transient errors. Defaults to 0; this is a destructive mutation and is not retried by default to avoid duplicate cancellations.
20356
+ * @returns Promise resolving to true on success
20357
+ * @throws {ShopifyUserError} When cancellation fails (e.g., ORDER_ALREADY_CANCELLED)
20358
+ *
20359
+ * @example
20360
+ * // Success case
20361
+ * await cancelOrderById(12345678901234)
20362
+ *
20363
+ * // Error handling
20364
+ * import { ShopifyUserError } from '@ehrenkind/shopify-lib'
20365
+ * try {
20366
+ * await cancelOrderById(orderId)
20367
+ * } catch (error) {
20368
+ * if (error instanceof ShopifyUserError) {
20369
+ * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')
20370
+ * }
20371
+ * }
20372
+ */
20373
+ declare function cancelOrderById(orderId: number | bigint | string, retries?: number): Promise<boolean>;
20374
+
19779
20375
  type CreateRefundLineItem = {
19780
20376
  lineItemId: number | bigint | string;
19781
20377
  quantity: number;
@@ -19885,6 +20481,17 @@ type CustomerDeleteMutation = {
19885
20481
  userErrors: Array<Pick<UserError, 'field' | 'message'>>;
19886
20482
  })>;
19887
20483
  };
20484
+ type UpdateCustomerEmailMarketingConsentMutationVariables = Exact<{
20485
+ input: CustomerEmailMarketingConsentUpdateInput;
20486
+ }>;
20487
+ type UpdateCustomerEmailMarketingConsentMutation = {
20488
+ customerEmailMarketingConsentUpdate?: Maybe<{
20489
+ customer?: Maybe<(Pick<Customer$1, 'id'> & {
20490
+ emailMarketingConsent?: Maybe<Pick<CustomerEmailMarketingConsentState, 'marketingState'>>;
20491
+ })>;
20492
+ userErrors: Array<Pick<CustomerEmailMarketingConsentUpdateUserError, 'field' | 'message'>>;
20493
+ }>;
20494
+ };
19888
20495
  type CreateFileMutationVariables = Exact<{
19889
20496
  files: Array<FileCreateInput> | FileCreateInput;
19890
20497
  }>;
@@ -19927,6 +20534,33 @@ type UpdateFulfillmentTrackingMutation = {
19927
20534
  userErrors: Array<Pick<UserError, 'field' | 'message'>>;
19928
20535
  }>;
19929
20536
  };
20537
+ type CreateMetafieldDefinitionMutationVariables = Exact<{
20538
+ definition: MetafieldDefinitionInput;
20539
+ }>;
20540
+ type CreateMetafieldDefinitionMutation = {
20541
+ metafieldDefinitionCreate?: Maybe<{
20542
+ createdDefinition?: Maybe<Pick<MetafieldDefinition, 'id'>>;
20543
+ userErrors: Array<Pick<MetafieldDefinitionCreateUserError, 'code' | 'field' | 'message'>>;
20544
+ }>;
20545
+ };
20546
+ type UpdateMetafieldDefinitionMutationVariables = Exact<{
20547
+ definition: MetafieldDefinitionUpdateInput;
20548
+ }>;
20549
+ type UpdateMetafieldDefinitionMutation = {
20550
+ metafieldDefinitionUpdate?: Maybe<{
20551
+ updatedDefinition?: Maybe<Pick<MetafieldDefinition, 'id'>>;
20552
+ userErrors: Array<Pick<MetafieldDefinitionUpdateUserError, 'code' | 'field' | 'message'>>;
20553
+ }>;
20554
+ };
20555
+ type MetafieldsSetMutationVariables = Exact<{
20556
+ metafields: Array<MetafieldsSetInput> | MetafieldsSetInput;
20557
+ }>;
20558
+ type MetafieldsSetMutation = {
20559
+ metafieldsSet?: Maybe<{
20560
+ metafields?: Maybe<Array<Pick<Metafield, 'id' | 'namespace' | 'key' | 'value'>>>;
20561
+ userErrors: Array<Pick<MetafieldsSetUserError, 'code' | 'field' | 'message'>>;
20562
+ }>;
20563
+ };
19930
20564
  type CreateMetaobjectDefinitionMutationVariables = Exact<{
19931
20565
  definition: MetaobjectDefinitionCreateInput;
19932
20566
  }>;
@@ -19936,6 +20570,24 @@ type CreateMetaobjectDefinitionMutation = {
19936
20570
  userErrors: Array<Pick<MetaobjectUserError, 'code' | 'field' | 'message'>>;
19937
20571
  }>;
19938
20572
  };
20573
+ type DeleteMetaobjectMutationVariables = Exact<{
20574
+ id: Scalars['ID']['input'];
20575
+ }>;
20576
+ type DeleteMetaobjectMutation = {
20577
+ metaobjectDelete?: Maybe<(Pick<MetaobjectDeletePayload, 'deletedId'> & {
20578
+ userErrors: Array<Pick<MetaobjectUserError, 'code' | 'field' | 'message'>>;
20579
+ })>;
20580
+ };
20581
+ type SetMetaobjectStatusMutationVariables = Exact<{
20582
+ id: Scalars['ID']['input'];
20583
+ metaobject: MetaobjectUpdateInput;
20584
+ }>;
20585
+ type SetMetaobjectStatusMutation = {
20586
+ metaobjectUpdate?: Maybe<{
20587
+ metaobject?: Maybe<Pick<Metaobject$1, 'id'>>;
20588
+ userErrors: Array<Pick<MetaobjectUserError, 'code' | 'field' | 'message'>>;
20589
+ }>;
20590
+ };
19939
20591
  type UpsertMetaobjectMutationVariables = Exact<{
19940
20592
  handle: MetaobjectHandleInput;
19941
20593
  metaobject: MetaobjectUpsertInput;
@@ -20007,7 +20659,7 @@ type CustomerSegmentMembersWithStatisticsQuery = {
20007
20659
  defaultEmailAddress?: Maybe<Pick<CustomerEmailAddress, 'emailAddress'>>;
20008
20660
  });
20009
20661
  }>;
20010
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
20662
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20011
20663
  });
20012
20664
  };
20013
20665
  type CustomersByEmailQueryVariables = Exact<{
@@ -20056,7 +20708,7 @@ type FulfillmentByIdQuery = {
20056
20708
  originAddress?: Maybe<Pick<FulfillmentOriginAddress, 'address1' | 'address2' | 'city' | 'countryCode' | 'provinceCode' | 'zip'>>;
20057
20709
  fulfillmentLineItems: {
20058
20710
  edges: Array<{
20059
- node: (Pick<FulfillmentLineItem, 'id' | 'quantity'> & {
20711
+ node: (Pick<FulfillmentLineItem$1, 'id' | 'quantity'> & {
20060
20712
  originalTotalSet: {
20061
20713
  shopMoney: Pick<MoneyV2, 'amount' | 'currencyCode'>;
20062
20714
  };
@@ -20076,6 +20728,12 @@ type FulfillmentTrackingIdsQuery = {
20076
20728
  trackingInfo: Array<Pick<FulfillmentTrackingInfo, 'company' | 'number'>>;
20077
20729
  })>;
20078
20730
  };
20731
+ type MetaobjectDefinitionByTypeQueryVariables = Exact<{
20732
+ type: Scalars['String']['input'];
20733
+ }>;
20734
+ type MetaobjectDefinitionByTypeQuery = {
20735
+ metaobjectDefinitionByType?: Maybe<Pick<MetaobjectDefinition, 'id' | 'type' | 'name'>>;
20736
+ };
20079
20737
  type MetaobjectByHandleQueryVariables = Exact<{
20080
20738
  handle: MetaobjectHandleInput;
20081
20739
  }>;
@@ -20084,6 +20742,19 @@ type MetaobjectByHandleQuery = {
20084
20742
  fields: Array<Pick<MetaobjectField, 'key' | 'value' | 'type'>>;
20085
20743
  })>;
20086
20744
  };
20745
+ type MetaobjectsByTypeQueryVariables = Exact<{
20746
+ type: Scalars['String']['input'];
20747
+ first: Scalars['Int']['input'];
20748
+ after?: InputMaybe<Scalars['String']['input']>;
20749
+ }>;
20750
+ type MetaobjectsByTypeQuery = {
20751
+ metaobjects: {
20752
+ nodes: Array<(Pick<Metaobject$1, 'id' | 'handle' | 'displayName' | 'type'> & {
20753
+ fields: Array<Pick<MetaobjectField, 'key' | 'value'>>;
20754
+ })>;
20755
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20756
+ };
20757
+ };
20087
20758
  type SuggestedRefundQueryVariables = Exact<{
20088
20759
  orderId: Scalars['ID']['input'];
20089
20760
  refundLineItems?: InputMaybe<Array<RefundLineItemInput> | RefundLineItemInput>;
@@ -20186,16 +20857,48 @@ type OrderByIdFullQuery = {
20186
20857
  originalUnitPriceSet: {
20187
20858
  shopMoney: Pick<MoneyV2, 'amount' | 'currencyCode'>;
20188
20859
  };
20860
+ discountAllocations: Array<{
20861
+ allocatedAmountSet: {
20862
+ shopMoney: Pick<MoneyV2, 'amount' | 'currencyCode'>;
20863
+ };
20864
+ }>;
20189
20865
  image?: Maybe<Pick<Image, 'url' | 'width' | 'height' | 'altText'>>;
20190
20866
  lineItemGroup?: Maybe<Pick<LineItemGroup, 'id' | 'title' | 'quantity' | 'variantSku'>>;
20191
20867
  });
20192
20868
  }>;
20193
20869
  };
20870
+ discountApplications: {
20871
+ nodes: Array<(Pick<AutomaticDiscountApplication, 'allocationMethod' | 'targetType'> & {
20872
+ value: ({
20873
+ __typename: 'MoneyV2';
20874
+ } & Pick<MoneyV2, 'amount' | 'currencyCode'>) | ({
20875
+ __typename: 'PricingPercentageValue';
20876
+ } & Pick<PricingPercentageValue, 'percentage'>);
20877
+ }) | (Pick<DiscountCodeApplication, 'code' | 'allocationMethod' | 'targetType'> & {
20878
+ value: ({
20879
+ __typename: 'MoneyV2';
20880
+ } & Pick<MoneyV2, 'amount' | 'currencyCode'>) | ({
20881
+ __typename: 'PricingPercentageValue';
20882
+ } & Pick<PricingPercentageValue, 'percentage'>);
20883
+ }) | (Pick<ManualDiscountApplication, 'allocationMethod' | 'targetType'> & {
20884
+ value: ({
20885
+ __typename: 'MoneyV2';
20886
+ } & Pick<MoneyV2, 'amount' | 'currencyCode'>) | ({
20887
+ __typename: 'PricingPercentageValue';
20888
+ } & Pick<PricingPercentageValue, 'percentage'>);
20889
+ }) | (Pick<ScriptDiscountApplication, 'allocationMethod' | 'targetType'> & {
20890
+ value: ({
20891
+ __typename: 'MoneyV2';
20892
+ } & Pick<MoneyV2, 'amount' | 'currencyCode'>) | ({
20893
+ __typename: 'PricingPercentageValue';
20894
+ } & Pick<PricingPercentageValue, 'percentage'>);
20895
+ })>;
20896
+ };
20194
20897
  fulfillments: Array<(Pick<Fulfillment$1, 'id' | 'name' | 'totalQuantity' | 'status' | 'createdAt' | 'estimatedDeliveryAt' | 'deliveredAt'> & {
20195
20898
  trackingInfo: Array<Pick<FulfillmentTrackingInfo, 'company' | 'number' | 'url'>>;
20196
20899
  fulfillmentLineItems: {
20197
20900
  edges: Array<{
20198
- node: (Pick<FulfillmentLineItem, 'id' | 'quantity'> & {
20901
+ node: (Pick<FulfillmentLineItem$1, 'id' | 'quantity'> & {
20199
20902
  lineItem: Pick<LineItem, 'id' | 'sku'>;
20200
20903
  });
20201
20904
  }>;
@@ -20218,6 +20921,13 @@ type OrderByIdFullQuery = {
20218
20921
  totalRefundedSet: {
20219
20922
  shopMoney: Pick<MoneyV2, 'amount' | 'currencyCode'>;
20220
20923
  };
20924
+ transactions: {
20925
+ nodes: Array<(Pick<OrderTransaction, 'kind'> & {
20926
+ amountSet: {
20927
+ shopMoney: Pick<MoneyV2, 'amount' | 'currencyCode'>;
20928
+ };
20929
+ })>;
20930
+ };
20221
20931
  }>;
20222
20932
  })>;
20223
20933
  };
@@ -20237,7 +20947,7 @@ type OrdersByNameQuery = {
20237
20947
  })>;
20238
20948
  });
20239
20949
  }>;
20240
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
20950
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20241
20951
  };
20242
20952
  };
20243
20953
  type OrdersByNameFullQueryVariables = Exact<{
@@ -20328,7 +21038,7 @@ type OrdersByNameFullQuery = {
20328
21038
  }>;
20329
21039
  });
20330
21040
  }>;
20331
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
21041
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20332
21042
  };
20333
21043
  };
20334
21044
  type OrderCancellationInfoByNameQueryVariables = Exact<{
@@ -20392,7 +21102,7 @@ type AllProductVariantsQuery = {
20392
21102
  });
20393
21103
  });
20394
21104
  }>;
20395
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
21105
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20396
21106
  };
20397
21107
  };
20398
21108
  type LeanProductVariantsQueryVariables = Exact<{
@@ -20407,7 +21117,7 @@ type LeanProductVariantsQuery = {
20407
21117
  product: Pick<Product, 'id' | 'title' | 'status'>;
20408
21118
  });
20409
21119
  }>;
20410
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
21120
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20411
21121
  };
20412
21122
  };
20413
21123
  type ProductVariantsBySkusQueryVariables = Exact<{
@@ -20422,7 +21132,7 @@ type ProductVariantsBySkusQuery = {
20422
21132
  product: Pick<Product, 'id' | 'title' | 'status'>;
20423
21133
  });
20424
21134
  }>;
20425
- pageInfo: Pick<PageInfo, 'hasNextPage' | 'endCursor'>;
21135
+ pageInfo: Pick<PageInfo$1, 'hasNextPage' | 'endCursor'>;
20426
21136
  };
20427
21137
  };
20428
21138
  type ProductHandlesQueryVariables = Exact<{
@@ -20456,10 +21166,18 @@ interface GeneratedQueryTypes {
20456
21166
  return: FulfillmentTrackingIdsQuery;
20457
21167
  variables: FulfillmentTrackingIdsQueryVariables;
20458
21168
  };
21169
+ "#graphql\n query metaobjectDefinitionByType($type: String!) {\n metaobjectDefinitionByType(type: $type) {\n id\n type\n name\n }\n }\n": {
21170
+ return: MetaobjectDefinitionByTypeQuery;
21171
+ variables: MetaobjectDefinitionByTypeQueryVariables;
21172
+ };
20459
21173
  "#graphql\n query metaobjectByHandle($handle: MetaobjectHandleInput!) {\n metaobjectByHandle(handle: $handle) {\n id\n handle\n type\n displayName\n updatedAt\n fields {\n key\n value\n type\n }\n }\n }\n": {
20460
21174
  return: MetaobjectByHandleQuery;
20461
21175
  variables: MetaobjectByHandleQueryVariables;
20462
21176
  };
21177
+ "#graphql\n query metaobjectsByType($type: String!, $first: Int!, $after: String) {\n metaobjects(type: $type, first: $first, after: $after) {\n nodes {\n id\n handle\n displayName\n type\n fields {\n key\n value\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n": {
21178
+ return: MetaobjectsByTypeQuery;
21179
+ variables: MetaobjectsByTypeQueryVariables;
21180
+ };
20463
21181
  "#graphql\n query suggestedRefund(\n $orderId: ID!\n $refundLineItems: [RefundLineItemInput!]\n $refundShipping: Boolean\n $shippingAmount: Money\n $suggestFullRefund: Boolean\n ) {\n order(id: $orderId) {\n id\n name\n suggestedRefund(\n refundLineItems: $refundLineItems\n refundShipping: $refundShipping\n shippingAmount: $shippingAmount\n suggestFullRefund: $suggestFullRefund\n ) {\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n maximumRefundableSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n subtotalSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n totalTaxSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountedSubtotalSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n totalCartDiscountAmountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n shipping {\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n maximumRefundableSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n taxSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n refundLineItems {\n lineItem {\n id\n sku\n title\n quantity\n discountedUnitPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n totalDiscountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n quantity\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n subtotalSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n totalTaxSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n restockType\n }\n suggestedTransactions {\n gateway\n kind\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n maximumRefundableSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n parentTransaction {\n id\n }\n }\n }\n }\n }\n": {
20464
21182
  return: SuggestedRefundQuery;
20465
21183
  variables: SuggestedRefundQueryVariables;
@@ -20468,7 +21186,7 @@ interface GeneratedQueryTypes {
20468
21186
  return: OrderByIdQuery;
20469
21187
  variables: OrderByIdQueryVariables;
20470
21188
  };
20471
- "#graphql\n query orderByIdFull($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n processedAt\n closedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n firstName\n lastName\n email\n phone\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n billingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n lineItems(first: 100) {\n edges {\n node {\n id\n sku\n title\n variantTitle\n quantity\n customAttributes {\n key\n value\n }\n originalUnitPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n vendor\n image {\n url\n width\n height\n altText\n }\n lineItemGroup {\n id\n title\n quantity\n variantSku\n }\n }\n }\n }\n fulfillments {\n id\n name\n totalQuantity\n status\n createdAt\n estimatedDeliveryAt\n deliveredAt\n trackingInfo {\n company\n number\n url\n }\n fulfillmentLineItems(first: 100) {\n edges {\n node {\n id\n quantity\n lineItem {\n id\n sku\n }\n }\n }\n }\n }\n shippingLine {\n originalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n taxLines {\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n totalDiscountsSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountCodes\n refunds {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\n }\n": {
21189
+ "#graphql\n query orderByIdFull($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n processedAt\n closedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n firstName\n lastName\n email\n phone\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n billingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n lineItems(first: 100) {\n edges {\n node {\n id\n sku\n title\n variantTitle\n quantity\n customAttributes {\n key\n value\n }\n originalUnitPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountAllocations {\n allocatedAmountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n vendor\n image {\n url\n width\n height\n altText\n }\n lineItemGroup {\n id\n title\n quantity\n variantSku\n }\n }\n }\n }\n discountApplications(first: 20) {\n nodes {\n allocationMethod\n targetType\n value {\n __typename\n ... on PricingPercentageValue {\n percentage\n }\n ... on MoneyV2 {\n amount\n currencyCode\n }\n }\n ... on DiscountCodeApplication {\n code\n }\n }\n }\n fulfillments {\n id\n name\n totalQuantity\n status\n createdAt\n estimatedDeliveryAt\n deliveredAt\n trackingInfo {\n company\n number\n url\n }\n fulfillmentLineItems(first: 100) {\n edges {\n node {\n id\n quantity\n lineItem {\n id\n sku\n }\n }\n }\n }\n }\n shippingLine {\n originalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n taxLines {\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n totalDiscountsSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountCodes\n refunds {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n transactions(first: 50) {\n nodes {\n kind\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\n }\n }\n }\n": {
20472
21190
  return: OrderByIdFullQuery;
20473
21191
  variables: OrderByIdFullQueryVariables;
20474
21192
  };
@@ -20514,6 +21232,10 @@ interface GeneratedMutationTypes {
20514
21232
  return: CustomerDeleteMutation;
20515
21233
  variables: CustomerDeleteMutationVariables;
20516
21234
  };
21235
+ "#graphql\n mutation updateCustomerEmailMarketingConsent(\n $input: CustomerEmailMarketingConsentUpdateInput!\n ) {\n customerEmailMarketingConsentUpdate(input: $input) {\n customer {\n id\n emailMarketingConsent {\n marketingState\n }\n }\n userErrors {\n field\n message\n }\n }\n }\n": {
21236
+ return: UpdateCustomerEmailMarketingConsentMutation;
21237
+ variables: UpdateCustomerEmailMarketingConsentMutationVariables;
21238
+ };
20517
21239
  "#graphql\n mutation createFile($files: [FileCreateInput!]!) {\n fileCreate(files: $files) {\n files {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
20518
21240
  return: CreateFileMutation;
20519
21241
  variables: CreateFileMutationVariables;
@@ -20530,10 +21252,30 @@ interface GeneratedMutationTypes {
20530
21252
  return: UpdateFulfillmentTrackingMutation;
20531
21253
  variables: UpdateFulfillmentTrackingMutationVariables;
20532
21254
  };
21255
+ "#graphql\n mutation createMetafieldDefinition($definition: MetafieldDefinitionInput!) {\n metafieldDefinitionCreate(definition: $definition) {\n createdDefinition {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
21256
+ return: CreateMetafieldDefinitionMutation;
21257
+ variables: CreateMetafieldDefinitionMutationVariables;
21258
+ };
21259
+ "#graphql\n mutation updateMetafieldDefinition(\n $definition: MetafieldDefinitionUpdateInput!\n ) {\n metafieldDefinitionUpdate(definition: $definition) {\n updatedDefinition {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
21260
+ return: UpdateMetafieldDefinitionMutation;
21261
+ variables: UpdateMetafieldDefinitionMutationVariables;
21262
+ };
21263
+ "#graphql\n mutation metafieldsSet($metafields: [MetafieldsSetInput!]!) {\n metafieldsSet(metafields: $metafields) {\n metafields {\n id\n namespace\n key\n value\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
21264
+ return: MetafieldsSetMutation;
21265
+ variables: MetafieldsSetMutationVariables;
21266
+ };
20533
21267
  "#graphql\n mutation createMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {\n metaobjectDefinitionCreate(definition: $definition) {\n metaobjectDefinition {\n id\n name\n type\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
20534
21268
  return: CreateMetaobjectDefinitionMutation;
20535
21269
  variables: CreateMetaobjectDefinitionMutationVariables;
20536
21270
  };
21271
+ "#graphql\n mutation deleteMetaobject($id: ID!) {\n metaobjectDelete(id: $id) {\n deletedId\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
21272
+ return: DeleteMetaobjectMutation;
21273
+ variables: DeleteMetaobjectMutationVariables;
21274
+ };
21275
+ "#graphql\n mutation setMetaobjectStatus($id: ID!, $metaobject: MetaobjectUpdateInput!) {\n metaobjectUpdate(id: $id, metaobject: $metaobject) {\n metaobject {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
21276
+ return: SetMetaobjectStatusMutation;
21277
+ variables: SetMetaobjectStatusMutationVariables;
21278
+ };
20537
21279
  "#graphql\n mutation upsertMetaobject(\n $handle: MetaobjectHandleInput!\n $metaobject: MetaobjectUpsertInput!\n ) {\n metaobjectUpsert(handle: $handle, metaobject: $metaobject) {\n metaobject {\n id\n handle\n displayName\n fields {\n key\n value\n }\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n": {
20538
21280
  return: UpsertMetaobjectMutation;
20539
21281
  variables: UpsertMetaobjectMutationVariables;
@@ -20588,6 +21330,10 @@ interface CalculateRefundOptions {
20588
21330
  declare function calculateRefund(orderId: number | bigint | string, options?: CalculateRefundOptions, retries?: number): Promise<SuggestedRefund | undefined>;
20589
21331
 
20590
21332
  declare function isRetryableError(error: unknown): boolean;
21333
+ interface PageInfo {
21334
+ hasNextPage: boolean;
21335
+ endCursor?: string | null | undefined;
21336
+ }
20591
21337
  interface ShopifyUserErrorDetail {
20592
21338
  code?: string | null;
20593
21339
  field?: string[] | null;
@@ -20611,6 +21357,142 @@ declare class ShopifyUserError extends Error {
20611
21357
  readonly errors: ShopifyUserErrorDetail[];
20612
21358
  constructor(message: string, errors: ShopifyUserErrorDetail[]);
20613
21359
  }
21360
+ type TExtractorFunctionType<TResultNode, TPageData> = (pageData: TPageData) => {
21361
+ nodes: TResultNode[];
21362
+ pageInfo?: PageInfo;
21363
+ userErrors?: ShopifyUserErrorDetail[];
21364
+ };
21365
+ declare function fetchShopifyGraphql<TResultNode, TPageData>(params: {
21366
+ query: string;
21367
+ variables: Record<string, unknown>;
21368
+ dataExtractor?: TExtractorFunctionType<TResultNode, TPageData>;
21369
+ fetchAllPages?: boolean;
21370
+ retries?: number;
21371
+ }): Promise<TResultNode[]>;
21372
+ declare function fetchShopifyGraphql<TReturnType>(params: {
21373
+ query: string;
21374
+ variables: Record<string, unknown>;
21375
+ retries?: number;
21376
+ }): Promise<TReturnType>;
21377
+
21378
+ type MetaobjectStatus = 'ACTIVE' | 'DRAFT';
21379
+ /**
21380
+ * Sets the publish status of a metaobject (requires the publishable capability
21381
+ * to be enabled on its definition).
21382
+ *
21383
+ * @param id - The metaobject GID (e.g. gid://shopify/Metaobject/123).
21384
+ * @param status - 'ACTIVE' to publish, 'DRAFT' to unpublish.
21385
+ * @param retries - Number of retries on transient errors. Defaults to 1; safe because the update is idempotent.
21386
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors.
21387
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21388
+ */
21389
+ declare function setMetaobjectStatus(id: string, status: MetaobjectStatus, retries?: number): Promise<void>;
21390
+
21391
+ /**
21392
+ * Deletes a metaobject by its GID.
21393
+ *
21394
+ * @param id - The metaobject GID (e.g. gid://shopify/Metaobject/123).
21395
+ * @param retries - Number of retries on transient errors. Defaults to 0; not retried by default since deletion is not idempotent against a re-created handle.
21396
+ * @returns The deleted metaobject GID, or undefined if nothing was deleted.
21397
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors.
21398
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21399
+ */
21400
+ declare function deleteMetaobject(id: string, retries?: number): Promise<string | undefined>;
21401
+
21402
+ type SetMetafield = {
21403
+ id: string;
21404
+ namespace: string;
21405
+ key: string;
21406
+ value: string;
21407
+ };
21408
+ /**
21409
+ * Sets (creates or updates) one or more metafields on any owner resource.
21410
+ *
21411
+ * @param metafields - The metafields to set. Each entry needs ownerId, namespace, key, type and value.
21412
+ * @param retries - Number of retries on transient errors. Defaults to 1; safe because metafieldsSet is idempotent on ownerId+namespace+key.
21413
+ * @returns The metafields that were set.
21414
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors.
21415
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21416
+ */
21417
+ declare function metafieldsSet(metafields: MetafieldsSetInput[], retries?: number): Promise<SetMetafield[]>;
21418
+
21419
+ /**
21420
+ * Creates a metafield definition.
21421
+ *
21422
+ * Throws a {@link ShopifyUserError} on validation errors; inspect `error.errors`
21423
+ * for the `TAKEN` code to treat "definition already exists" as idempotent.
21424
+ *
21425
+ * @param definition - The metafield definition input (name, namespace, key, type, ownerType, ...).
21426
+ * @param retries - Number of retries on transient errors. Defaults to 0; not retried by default to avoid duplicate-creation noise.
21427
+ * @returns The created definition GID.
21428
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors (e.g. TAKEN).
21429
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21430
+ */
21431
+ declare function createMetafieldDefinition(definition: MetafieldDefinitionInput, retries?: number): Promise<string>;
21432
+
21433
+ /**
21434
+ * Updates an existing metafield definition (identified by namespace + key +
21435
+ * ownerType). Idempotent — useful for granting storefront access on a
21436
+ * definition that already exists.
21437
+ *
21438
+ * @param definition - The metafield definition update input.
21439
+ * @param retries - Number of retries on transient errors. Defaults to 1; safe because the update is idempotent.
21440
+ * @returns The updated definition GID, or undefined if nothing was updated.
21441
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors.
21442
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21443
+ */
21444
+ declare function updateMetafieldDefinition(definition: MetafieldDefinitionUpdateInput, retries?: number): Promise<string | undefined>;
21445
+
21446
+ type EmailMarketingState = 'SUBSCRIBED' | 'UNSUBSCRIBED' | 'PENDING';
21447
+ type MarketingOptInLevel = 'CONFIRMED_OPT_IN' | 'SINGLE_OPT_IN' | 'UNKNOWN';
21448
+ type UpdateCustomerEmailMarketingConsentInput = {
21449
+ customerId: string;
21450
+ marketingState: EmailMarketingState;
21451
+ marketingOptInLevel?: MarketingOptInLevel;
21452
+ };
21453
+ type UpdatedEmailMarketingConsent = {
21454
+ id: string;
21455
+ marketingState: CustomerEmailMarketingState | null;
21456
+ };
21457
+ /**
21458
+ * Updates a customer's email marketing consent (subscribe / unsubscribe).
21459
+ *
21460
+ * @param input - The customer GID, target marketing state, and optional opt-in level.
21461
+ * @param retries - Number of retries on transient errors. Defaults to 1; safe because the update is idempotent.
21462
+ * @returns The updated customer id and resulting marketing state.
21463
+ * @throws {ShopifyUserError} When the mutation fails due to validation errors.
21464
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21465
+ */
21466
+ declare function updateCustomerEmailMarketingConsent(input: UpdateCustomerEmailMarketingConsentInput, retries?: number): Promise<UpdatedEmailMarketingConsent>;
21467
+
21468
+ type MetaobjectSummary = NonNullable<MetaobjectsByTypeQuery['metaobjects']>['nodes'][number];
21469
+ type GetMetaobjectsByTypeOptions = {
21470
+ /** Page size for each request (1-250). Defaults to 250. */
21471
+ pageSize?: number;
21472
+ };
21473
+ /**
21474
+ * Retrieves all metaobjects of a given type, transparently paginating through
21475
+ * every page.
21476
+ *
21477
+ * @param type - The metaobject definition type (e.g. "documentation_page").
21478
+ * @param options - Optional page size.
21479
+ * @param retries - Number of retries on transient errors. Defaults to 3.
21480
+ * @returns All metaobjects of the type (id, handle, displayName, type, fields).
21481
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21482
+ */
21483
+ declare function getMetaobjectsByType(type: string, options?: GetMetaobjectsByTypeOptions, retries?: number): Promise<MetaobjectSummary[]>;
21484
+
21485
+ type MetaobjectDefinitionSummary = NonNullable<MetaobjectDefinitionByTypeQuery['metaobjectDefinitionByType']>;
21486
+ /**
21487
+ * Looks up a metaobject definition by its type.
21488
+ * Returns undefined if no definition exists for the type.
21489
+ *
21490
+ * @param type - The metaobject definition type (e.g. "faq_item").
21491
+ * @param retries - Number of retries on transient errors. Defaults to 3.
21492
+ * @returns The definition (id, type, name), or undefined if not found.
21493
+ * @throws {Error} When GraphQL errors occur or the response is malformed.
21494
+ */
21495
+ declare function getMetaobjectDefinitionByType(type: string, retries?: number): Promise<MetaobjectDefinitionSummary | undefined>;
20614
21496
 
20615
21497
  declare const GetLeanOrderByIdReturn: z.ZodObject<{
20616
21498
  id: z.ZodString;
@@ -21084,4 +21966,4 @@ type Metaobject = NonNullable<MetaobjectByHandleQuery['metaobjectByHandle']>;
21084
21966
  */
21085
21967
  declare function getMetaobjectByHandle(handle: MetaobjectHandleInput, retries?: number): Promise<Metaobject | undefined>;
21086
21968
 
21087
- export { type BulkUpdateProductVariantsResult, type CalculateRefundLineItem, type CalculateRefundOptions, type CreateFulfillmentResult, type CreateMetaobjectDefinitionInput, type CreateMetaobjectDefinitionResult, type CreateRefundLineItem, type CreateRefundOptions, type CreateRefundResult, type CreateRefundTransaction, type Customer, type CustomerSegmentMember, type CustomerSegmentMembersResult, type Fulfillment, type FulfillmentLineItem$1 as FulfillmentLineItem, type FulfillmentOrder, type FulfillmentOrderLineItem, type FulfillmentTrackingIds, type FullOrder, type FullOrderByName, type LeanOrder, type LeanOrderByName, type LeanProductVariant, type LeanProductVariantsOptions, type Metaobject, type MetaobjectFieldDefinition$1 as MetaobjectFieldDefinition, type MetaobjectHandleInput, type OrderCancellationInfo, type OrderPaymentDetails, type OrderPreview, type ProductVariant, type ProductVariantBySku, type ProductVariantsBySkusOptions, type RefundMoney, type SegmentAttributeStatistics, ShopifyUserError, type ShopifyUserErrorDetail, type SuggestedRefund, type UpdateFulfillmentTrackingResult, type UpsertMetaobjectInput, type UpsertMetaobjectResult, type VariantUpdateInput, bulkUpdateProductVariants, calculateRefund, cancelOrderById, createFile, createFulfillment, createMetaobjectDefinition, createRefund, deleteCustomerById, deleteFilesByIds, getAllProductVariants, getCustomerSegmentMembers, getCustomersByEmail, getFulfillmentById, getFulfillmentOrdersByOrderId, getFulfillmentTrackingIds, getLeanProductVariants, getMetaobjectByHandle, getOrderById, getOrderByName, getOrderCancellationInfoByName, getOrderPaymentDetailsById, getOrdersByCustomerId, getProductVariantsBySkus, isRetryableError, parseGid, updateFulfillmentTracking, upsertMetaobject };
21969
+ export { type BulkUpdateProductVariantsResult, type CalculateRefundLineItem, type CalculateRefundOptions, type CreateFulfillmentResult, type CreateMetaobjectDefinitionInput, type CreateMetaobjectDefinitionResult, type CreateRefundLineItem, type CreateRefundOptions, type CreateRefundResult, type CreateRefundTransaction, type Customer, type CustomerSegmentMember, type CustomerSegmentMembersResult, type EmailMarketingState, type Fulfillment, type FulfillmentLineItem, type FulfillmentOrder, type FulfillmentOrderLineItem, type FulfillmentTrackingIds, type FullOrder, type FullOrderByName, type GetMetaobjectsByTypeOptions, type LeanOrder, type LeanOrderByName, type LeanProductVariant, type LeanProductVariantsOptions, type MarketingOptInLevel, type MetafieldDefinitionInput, type MetafieldDefinitionUpdateInput, type MetafieldsSetInput, type Metaobject, type MetaobjectDefinitionSummary, type MetaobjectFieldDefinition, type MetaobjectHandleInput, type MetaobjectStatus, type MetaobjectSummary, type OrderCancellationInfo, type OrderPaymentDetails, type OrderPreview, type ProductVariant, type ProductVariantBySku, type ProductVariantsBySkusOptions, type RefundMoney, type SegmentAttributeStatistics, type SetMetafield, ShopifyUserError, type ShopifyUserErrorDetail, type SuggestedRefund, type UpdateCustomerEmailMarketingConsentInput, type UpdateFulfillmentTrackingResult, type UpdatedEmailMarketingConsent, type UpsertMetaobjectInput, type UpsertMetaobjectResult, type VariantUpdateInput, bulkUpdateProductVariants, calculateRefund, cancelOrderById, createFile, createFulfillment, createMetafieldDefinition, createMetaobjectDefinition, createRefund, deleteCustomerById, deleteFilesByIds, deleteMetaobject, getAllProductVariants, getCustomerSegmentMembers, getCustomersByEmail, getFulfillmentById, getFulfillmentOrdersByOrderId, getFulfillmentTrackingIds, getLeanProductVariants, getMetaobjectByHandle, getMetaobjectDefinitionByType, getMetaobjectsByType, getOrderById, getOrderByName, getOrderCancellationInfoByName, getOrderPaymentDetailsById, getOrdersByCustomerId, getProductVariantsBySkus, isRetryableError, metafieldsSet, parseGid, fetchShopifyGraphql as runShopifyGraphql, setMetaobjectStatus, updateCustomerEmailMarketingConsent, updateFulfillmentTracking, updateMetafieldDefinition, upsertMetaobject };