{"version":3,"sources":["jsdelivr-header.js","/npm/@wix/auto_sdk_stores_inventory@1.0.42/index.ts","/npm/@wix/auto_sdk_stores_inventory@1.0.42/src/stores-v2-inventory-inventory.public.ts","/npm/@wix/auto_sdk_stores_inventory@1.0.42/src/stores-v2-inventory-inventory.universal.ts","/npm/@wix/auto_sdk_stores_inventory@1.0.42/src/stores-v2-inventory-inventory.http.ts","/npm/@wix/auto_sdk_stores_inventory@1.0.42/src/stores-v2-inventory-inventory.context.ts"],"names":[],"mappings":"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","file":"/npm/@wix/auto_sdk_stores_inventory@1.0.42/build/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@wix/auto_sdk_stores_inventory@1.0.42/build/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export * from './src/stores-v2-inventory-inventory.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFieldMaskToSDKFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  DecrementData,\n  GetInventoryVariantsOptions,\n  GetInventoryVariantsResponse,\n  IncrementData,\n  InventoryItemChangedEnvelope,\n  InventoryVariantsChangedEnvelope,\n  QueryInventoryOptions,\n  QueryInventoryResponse,\n  UpdateInventoryVariantsInventoryItem,\n  decrementInventory as universalDecrementInventory,\n  getInventoryVariants as universalGetInventoryVariants,\n  incrementInventory as universalIncrementInventory,\n  queryInventory as universalQueryInventory,\n  updateInventoryVariants as universalUpdateInventoryVariants,\n} from './stores-v2-inventory-inventory.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/stores' };\n\nexport function updateInventoryVariants(\n  httpClient: HttpClient\n): UpdateInventoryVariantsSignature {\n  return (\n    productId: string,\n    inventoryItem: UpdateInventoryVariantsInventoryItem\n  ) =>\n    universalUpdateInventoryVariants(\n      productId,\n      inventoryItem,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateInventoryVariantsSignature {\n  /**\n   * Updates product inventory, including total quantity, whether the product is in stock, and whether the product inventory is tracked.\n   *\n   *\n   * The `updateInventoryVariants()` function is a Promise that resolves to the updated inventory variant data.\n   * @param - Product ID.\n   * @param - Inventory item to update.\n   */\n  (\n    productId: string,\n    inventoryItem: UpdateInventoryVariantsInventoryItem\n  ): Promise<void>;\n}\n\nexport function decrementInventory(\n  httpClient: HttpClient\n): DecrementInventorySignature {\n  return (decrementData: DecrementData[]) =>\n    universalDecrementInventory(\n      decrementData,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DecrementInventorySignature {\n  /**\n   * Subtracts a set number of items from inventory.\n   *\n   *\n   * The `decrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n   * @param - Item or product to decrement.\n   */\n  (decrementData: DecrementData[]): Promise<void>;\n}\n\nexport function incrementInventory(\n  httpClient: HttpClient\n): IncrementInventorySignature {\n  return (incrementData: IncrementData[]) =>\n    universalIncrementInventory(\n      incrementData,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface IncrementInventorySignature {\n  /**\n   * Adds a set number of items to inventory.\n   *\n   *\n   * The `incrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n   * @param - Item or product to increment.\n   */\n  (incrementData: IncrementData[]): Promise<void>;\n}\n\nexport function getInventoryVariants(\n  httpClient: HttpClient\n): GetInventoryVariantsSignature {\n  return (inventoryId: string, options?: GetInventoryVariantsOptions) =>\n    universalGetInventoryVariants(\n      inventoryId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetInventoryVariantsSignature {\n  /**\n   * Gets inventory variant information based on the specified option choices.\n   *\n   *\n   * The `getInventoryVariants()` function returns a Promise that resolves to the specified inventory variant information.\n   * @param - Inventory item ID.\n   */\n  (inventoryId: string, options?: GetInventoryVariantsOptions): Promise<\n    NonNullablePaths<\n      GetInventoryVariantsResponse,\n      | `inventoryItem.variants`\n      | `inventoryItem.variants.${number}.variantId`\n      | `inventoryItem.variants.${number}.availableForPreorder`\n      | `inventoryItem.numericId`\n      | `inventoryItem.preorderInfo.enabled`,\n      5\n    >\n  >;\n}\n\nexport function queryInventory(\n  httpClient: HttpClient\n): QueryInventorySignature {\n  return (options?: QueryInventoryOptions) =>\n    universalQueryInventory(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryInventorySignature {\n  /**\n   * Returns a list of inventory items, given the provided paging, sorting and filtering.\n   */\n  (options?: QueryInventoryOptions): Promise<\n    NonNullablePaths<\n      QueryInventoryResponse,\n      | `inventoryItems`\n      | `inventoryItems.${number}.numericId`\n      | `inventoryItems.${number}.preorderInfo.enabled`\n      | `metadata.items`\n      | `metadata.offset`\n      | `totalResults`,\n      5\n    >\n  >;\n}\n\nexport const onInventoryItemChanged = EventDefinition(\n  'com.wix.ecommerce.inventory.api.v1.InventoryItemChanged',\n  false,\n  (event: InventoryItemChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTFieldMaskToSDKFieldMask,\n          paths: [{ path: 'data.fieldMask' }],\n        },\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [{ path: 'data.updatedDate' }],\n        },\n      ])\n    )\n)<InventoryItemChangedEnvelope>();\nexport const onInventoryVariantsChanged = EventDefinition(\n  'com.wix.ecommerce.inventory.api.v1.InventoryVariantsChanged',\n  false,\n  (event: InventoryVariantsChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [{ path: 'data.updatedDate' }],\n        },\n      ])\n    )\n)<InventoryVariantsChangedEnvelope>();\n\nexport {\n  AccountInfo,\n  BaseEventMetadata,\n  BulkUpdateInventoryItemsRequest,\n  BulkUpdateInventoryItemsResponse,\n  BulkUpdateInventoryVariantsRequest,\n  BulkUpdateInventoryVariantsRequestActionOneOf,\n  BulkUpdateInventoryVariantsResponse,\n  ChangedInventoryVariant,\n  ChangedInventoryVariantData,\n  DecrementData,\n  DecrementDataIdOneOf,\n  DecrementInventoryRequest,\n  DecrementInventoryResponse,\n  GetInventoryItemsRequest,\n  GetInventoryItemsResponse,\n  GetInventoryVariantsOptions,\n  GetInventoryVariantsOptionsIdOneOf,\n  GetInventoryVariantsRequest,\n  GetInventoryVariantsRequestIdOneOf,\n  GetInventoryVariantsResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  IncrementData,\n  IncrementDataIdOneOf,\n  IncrementInventoryRequest,\n  IncrementInventoryResponse,\n  InventoryItemChanged,\n  InventoryItemChangedEnvelope,\n  InventoryItemV2,\n  InventoryVariantV2,\n  InventoryVariantsChanged,\n  InventoryVariantsChangedEnvelope,\n  MessageEnvelope,\n  Paging,\n  PagingMetadata,\n  PreorderInfo,\n  Query,\n  QueryInventoryOptions,\n  QueryInventoryRequest,\n  QueryInventoryResponse,\n  ReasonType,\n  UpdateInventoryVariantsInventoryItem,\n  UpdateInventoryVariantsRequest,\n  UpdateInventoryVariantsResponse,\n  WebhookIdentityType,\n} from './stores-v2-inventory-inventory.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixStoresV2Inventory from './stores-v2-inventory-inventory.http.js';\n\nexport interface InventoryItemV2 {\n  /** Inventory item ID. */\n  _id?: string | null;\n  /**\n   * @internal\n   * @internal\n   * @readonly\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string | null;\n  /**\n   * Product ID.\n   * @readonly\n   */\n  productId?: string | null;\n  /** Whether quantity is being tracked. */\n  trackQuantity?: boolean | null;\n  /** Variants associated with this inventory item. */\n  variants?: InventoryVariantV2[];\n  /**\n   * Last updated timestamp.\n   * @readonly\n   */\n  lastUpdated?: Date | null;\n  /**\n   * Inventory’s unique numeric ID (assigned in ascending order).\n   * Primarily for sorting and filtering when crawling all inventories.\n   * @readonly\n   */\n  numericId?: string;\n  /** Preorder information. */\n  preorderInfo?: PreorderInfo;\n}\n\nexport interface InventoryVariantV2 {\n  /** Variant ID. */\n  variantId?: string;\n  /** Whether the product is listed as in stock. */\n  inStock?: boolean | null;\n  /** Quantity currently left in inventory. */\n  quantity?: number | null;\n  /**\n   * Whether the variant is available for preorder. When `true`, the variant is out of stock and preorder is enabled on inventory level.\n   * @readonly\n   */\n  availableForPreorder?: boolean;\n}\n\nexport interface PreorderInfo {\n  /** Whether the item is available for preorder. */\n  enabled?: boolean;\n  /**\n   * A message the buyer will see when the item is out of stock and preorder is enabled.\n   * @minLength 1\n   * @maxLength 250\n   */\n  message?: string | null;\n  /**\n   * Number of products that can be preordered after stock reaches zero.\n   * @max 100000\n   */\n  limit?: number | null;\n}\n\nexport interface UpdateInventoryVariantsRequest {\n  /** Inventory item. */\n  inventoryItem: InventoryItemV2;\n}\n\nexport enum ReasonType {\n  /** Unknown reason. */\n  UNKNOWN = 'UNKNOWN',\n  /** Order related. */\n  ORDER = 'ORDER',\n  /** Manual adjustment. */\n  MANUAL = 'MANUAL',\n  /** Reverting an inventory change. */\n  REVERT_INVENTORY_CHANGE = 'REVERT_INVENTORY_CHANGE',\n}\n\n/** @enumType */\nexport type ReasonTypeWithLiterals =\n  | ReasonType\n  | 'UNKNOWN'\n  | 'ORDER'\n  | 'MANUAL'\n  | 'REVERT_INVENTORY_CHANGE';\n\nexport interface UpdateInventoryVariantsResponse {}\n\nexport interface BulkUpdateInventoryVariantsRequest\n  extends BulkUpdateInventoryVariantsRequestActionOneOf {\n  /** Change availability. */\n  setInStock?: boolean | null;\n  /** Set new quantity. */\n  setQuantity?: number | null;\n  /**\n   * Number to increment inventory by.\n   * @min 1\n   */\n  incrementBy?: number | null;\n  /**\n   * Number to decrement inventory by.\n   * @min 1\n   */\n  decrementBy?: number | null;\n  /** Variants filter. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n  filter?: Record<string, any> | null;\n}\n\n/** @oneof */\nexport interface BulkUpdateInventoryVariantsRequestActionOneOf {\n  /** Change availability. */\n  setInStock?: boolean | null;\n  /** Set new quantity. */\n  setQuantity?: number | null;\n  /**\n   * Number to increment inventory by.\n   * @min 1\n   */\n  incrementBy?: number | null;\n  /**\n   * Number to decrement inventory by.\n   * @min 1\n   */\n  decrementBy?: number | null;\n}\n\nexport interface BulkUpdateInventoryVariantsResponse {}\n\nexport interface BulkUpdateInventoryItemsRequest {\n  /** Variants filter */\n  variantsFilter?: Record<string, any> | null;\n  /** Whether inventory is being tracked. */\n  trackInventory?: boolean | null;\n}\n\nexport interface BulkUpdateInventoryItemsResponse {}\n\nexport interface DecrementInventoryRequest {\n  /**\n   * Item or product to decrement.\n   * @minSize 1\n   * @maxSize 300\n   */\n  decrementData?: DecrementData[];\n}\n\nexport interface DecrementData extends DecrementDataIdOneOf {\n  /**\n   * Inventory item ID.\n   * @maxLength 36\n   */\n  inventoryId?: string;\n  /**\n   * @internal\n   * @internal\n   * @maxLength 36\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /**\n   * Product ID.\n   * @maxLength 36\n   */\n  productId?: string;\n  /**\n   * Variant ID.\n   * @format GUID\n   */\n  variantId?: string;\n  /**\n   * Number to decrement inventory by.\n   * @min 1\n   */\n  decrementBy?: number;\n  /**\n   * Whether the request to decrement the item's inventory was made as part of a purchase that includes preorder items.\n   * If true and the item is available for preorder, we allow negative inventory.\n   * If false and the item is not available for preorder, we allow regular buy flow (no negative inventory).\n   */\n  preorderRequest?: boolean;\n}\n\n/** @oneof */\nexport interface DecrementDataIdOneOf {\n  /**\n   * Inventory item ID.\n   * @maxLength 36\n   */\n  inventoryId?: string;\n  /**\n   * @internal\n   * @internal\n   * @maxLength 36\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /**\n   * Product ID.\n   * @maxLength 36\n   */\n  productId?: string;\n}\n\nexport interface DecrementInventoryResponse {}\n\nexport interface IncrementInventoryRequest {\n  /**\n   * Item or product to increment.\n   * @minSize 1\n   * @maxSize 300\n   */\n  incrementData?: IncrementData[];\n}\n\nexport interface IncrementData extends IncrementDataIdOneOf {\n  /**\n   * Inventory item ID.\n   * @maxLength 36\n   */\n  inventoryId?: string;\n  /**\n   * Product ID.\n   * @maxLength 36\n   */\n  productId?: string;\n  /**\n   * Variant ID.\n   * @format GUID\n   */\n  variantId?: string;\n  /**\n   * Number to increment inventory by.\n   * @min 1\n   */\n  incrementBy?: number;\n}\n\n/** @oneof */\nexport interface IncrementDataIdOneOf {\n  /**\n   * Inventory item ID.\n   * @maxLength 36\n   */\n  inventoryId?: string;\n  /**\n   * Product ID.\n   * @maxLength 36\n   */\n  productId?: string;\n}\n\nexport interface IncrementInventoryResponse {}\n\nexport interface InventoryItemChanged {\n  /** Inventory item ID. */\n  inventoryItemId?: string;\n  /**\n   * @internal\n   * @internal\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n  /** Whether inventory is being tracked. */\n  trackInventory?: boolean;\n  /** Preorder information. */\n  preorderInfo?: PreorderInfo;\n  /** Field mask of updated fields. */\n  fieldMask?: string[];\n  /** Date and time the inventory item was last updated. */\n  _updatedDate?: Date | null;\n}\n\nexport interface InventoryVariantsChanged {\n  /** Inventory item ID. */\n  inventoryItemId?: string;\n  /**\n   * @internal\n   * @internal\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n  /** Information about changed variants. */\n  variants?: ChangedInventoryVariant[];\n  /** Date and time the inventory variant item was last updated. */\n  _updatedDate?: Date | null;\n}\n\nexport interface ChangedInventoryVariant {\n  /** Variant ID. */\n  _id?: string;\n  /** Previous inventory variant data. */\n  oldValue?: ChangedInventoryVariantData;\n  /** Current inventory variant data. */\n  newValue?: ChangedInventoryVariantData;\n}\n\nexport interface ChangedInventoryVariantData {\n  /** Inventory variant quantity. */\n  quantity?: number | null;\n  /** Whether the product variant is in stock. */\n  inStock?: boolean;\n  /** Whether the variant is available for preorder. When `true`, the variant is out of stock and preorder is enabled on inventory level. */\n  availableForPreorder?: boolean;\n}\n\nexport interface GetInventoryVariantsRequest\n  extends GetInventoryVariantsRequestIdOneOf {\n  /** Inventory item ID. */\n  inventoryId: string;\n  /**\n   * @internal\n   * @internal\n   * @deprecated Deprecated (use productID instead).\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n  /** Variant IDs to query for this inventory item (optional). */\n  variantIds?: string[];\n}\n\n/** @oneof */\nexport interface GetInventoryVariantsRequestIdOneOf {\n  /** Inventory item ID. */\n  inventoryId?: string;\n  /**\n   * @internal\n   * @internal\n   * @deprecated Deprecated (use productID instead).\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n}\n\nexport interface GetInventoryVariantsResponse {\n  /** Inventory item. */\n  inventoryItem?: InventoryItemV2;\n}\n\nexport interface GetInventoryItemsRequest {\n  /** Product IDs */\n  productIds?: string[];\n}\n\nexport interface GetInventoryItemsResponse {\n  /** Inventory items. */\n  inventoryItems?: InventoryItemV2[];\n}\n\nexport interface QueryInventoryRequest {\n  /** Information about paging, filters, sorting. */\n  query?: Query;\n}\n\nexport interface Query {\n  /** Paging options to limit and skip the number of items. */\n  paging?: Paging;\n  /** Filter string */\n  filter?: string | null;\n  /** Sort string */\n  sort?: string | null;\n}\n\nexport interface Paging {\n  /**\n   * Amount of items to load per page\n   * @max 100\n   */\n  limit?: number | null;\n  /** Number of items to skip in the display (relevant for all pages after the first) */\n  offset?: number | null;\n}\n\nexport interface QueryInventoryResponse {\n  /** Inventory items. */\n  inventoryItems?: InventoryItemV2[];\n  /** Display metadata. */\n  metadata?: PagingMetadata;\n  /** Number of total results. */\n  totalResults?: number;\n}\n\nexport interface PagingMetadata {\n  /** Amount of items to load per page */\n  items?: number;\n  /** Number of items to skip in the display (relevant for all pages after the first) */\n  offset?: number;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n}\n\nexport interface InventoryItemChangedEnvelope {\n  data: InventoryItemChanged;\n  metadata: BaseEventMetadata;\n}\n\n/**\n * Triggered when an inventory item is changed.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionId WIX_STORES.READ_INVENTORY\n * @webhook\n * @eventType com.wix.ecommerce.inventory.api.v1.InventoryItemChanged\n * @serviceIdentifier wix.inventory.api.v1.InventoryReadApi\n * @slug inventory_item_changed\n */\nexport declare function onInventoryItemChanged(\n  handler: (event: InventoryItemChangedEnvelope) => void | Promise<void>\n): void;\n\nexport interface InventoryVariantsChangedEnvelope {\n  data: InventoryVariantsChanged;\n  metadata: BaseEventMetadata;\n}\n\n/**\n * Triggered when inventory variants are changed.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionId WIX_STORES.READ_INVENTORY\n * @webhook\n * @eventType com.wix.ecommerce.inventory.api.v1.InventoryVariantsChanged\n * @serviceIdentifier wix.inventory.api.v1.InventoryReadApi\n * @slug inventory_variants_changed\n */\nexport declare function onInventoryVariantsChanged(\n  handler: (event: InventoryVariantsChangedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Updates product inventory, including total quantity, whether the product is in stock, and whether the product inventory is tracked.\n *\n *\n * The `updateInventoryVariants()` function is a Promise that resolves to the updated inventory variant data.\n * @param productId - Product ID.\n * @public\n * @requiredField inventoryItem\n * @requiredField productId\n * @param inventoryItem - Inventory item to update.\n * @permissionId WIX_STORES.MODIFY_INVENTORY\n * @applicableIdentity APP\n * @fqn wix.inventory.api.v1.InventoryWriteApi.UpdateInventoryVariants\n */\nexport async function updateInventoryVariants(\n  productId: string,\n  inventoryItem: UpdateInventoryVariantsInventoryItem\n): Promise<void> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    inventoryItem: { ...inventoryItem, productId: productId },\n  });\n\n  const reqOpts =\n    ambassadorWixStoresV2Inventory.updateInventoryVariants(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { inventoryItem: '$[1]' },\n        explicitPathsToArguments: { 'inventoryItem.productId': '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['productId', 'inventoryItem']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateInventoryVariantsInventoryItem {\n  /** Inventory item ID. */\n  _id?: string | null;\n  /**\n   * @internal\n   * @internal\n   * @readonly\n   * @deprecated Deprecated: use productId.\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string | null;\n  /** Whether quantity is being tracked. */\n  trackQuantity?: boolean | null;\n  /** Variants associated with this inventory item. */\n  variants?: InventoryVariantV2[];\n  /**\n   * Last updated timestamp.\n   * @readonly\n   */\n  lastUpdated?: Date | null;\n  /**\n   * Inventory’s unique numeric ID (assigned in ascending order).\n   * Primarily for sorting and filtering when crawling all inventories.\n   * @readonly\n   */\n  numericId?: string;\n  /** Preorder information. */\n  preorderInfo?: PreorderInfo;\n}\n\n/**\n * Subtracts a set number of items from inventory.\n *\n *\n * The `decrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n * @param decrementData - Item or product to decrement.\n * @public\n * @requiredField decrementData\n * @permissionId WIX_STORES.MODIFY_INVENTORY\n * @applicableIdentity APP\n * @fqn wix.inventory.api.v1.InventoryWriteApi.DecrementInventory\n */\nexport async function decrementInventory(\n  decrementData: DecrementData[]\n): Promise<void> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    decrementData: decrementData,\n  });\n\n  const reqOpts = ambassadorWixStoresV2Inventory.decrementInventory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { decrementData: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['decrementData']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Adds a set number of items to inventory.\n *\n *\n * The `incrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n * @param incrementData - Item or product to increment.\n * @public\n * @requiredField incrementData\n * @permissionId WIX_STORES.MODIFY_INVENTORY\n * @applicableIdentity APP\n * @fqn wix.inventory.api.v1.InventoryWriteApi.IncrementInventory\n */\nexport async function incrementInventory(\n  incrementData: IncrementData[]\n): Promise<void> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    incrementData: incrementData,\n  });\n\n  const reqOpts = ambassadorWixStoresV2Inventory.incrementInventory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { incrementData: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['incrementData']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Gets inventory variant information based on the specified option choices.\n *\n *\n * The `getInventoryVariants()` function returns a Promise that resolves to the specified inventory variant information.\n * @param inventoryId - Inventory item ID.\n * @public\n * @requiredField inventoryId\n * @permissionId WIX_STORES.READ_INVENTORY\n * @applicableIdentity APP\n * @fqn wix.inventory.api.v1.InventoryReadApi.GetInventoryVariants\n */\nexport async function getInventoryVariants(\n  inventoryId: string,\n  options?: GetInventoryVariantsOptions\n): Promise<\n  NonNullablePaths<\n    GetInventoryVariantsResponse,\n    | `inventoryItem.variants`\n    | `inventoryItem.variants.${number}.variantId`\n    | `inventoryItem.variants.${number}.availableForPreorder`\n    | `inventoryItem.numericId`\n    | `inventoryItem.preorderInfo.enabled`,\n    5\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    inventoryId: inventoryId,\n    externalId: options?.externalId,\n    productId: options?.productId,\n    variantIds: options?.variantIds,\n  });\n\n  const reqOpts = ambassadorWixStoresV2Inventory.getInventoryVariants(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          inventoryId: '$[0]',\n          externalId: '$[1].externalId',\n          productId: '$[1].productId',\n          variantIds: '$[1].variantIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['inventoryId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetInventoryVariantsOptions\n  extends GetInventoryVariantsOptionsIdOneOf {\n  /**\n   * @internal\n   * @internal\n   * @deprecated Deprecated (use productID instead).\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n  /** Variant IDs to query for this inventory item (optional). */\n  variantIds?: string[];\n}\n\n/** @oneof */\nexport interface GetInventoryVariantsOptionsIdOneOf {\n  /** Inventory item ID. */\n  inventoryId?: string;\n  /**\n   * @internal\n   * @deprecated Deprecated (use productID instead).\n   * @replacedBy product_id\n   * @targetRemovalDate 2024-12-31\n   */\n  externalId?: string;\n  /** Product ID. */\n  productId?: string;\n}\n\n/**\n * Returns a list of inventory items, given the provided paging, sorting and filtering.\n * @public\n * @permissionId WIX_STORES.READ_INVENTORY\n * @applicableIdentity APP\n * @fqn wix.inventory.api.v1.InventoryReadApi.QueryInventory\n */\nexport async function queryInventory(\n  options?: QueryInventoryOptions\n): Promise<\n  NonNullablePaths<\n    QueryInventoryResponse,\n    | `inventoryItems`\n    | `inventoryItems.${number}.numericId`\n    | `inventoryItems.${number}.preorderInfo.enabled`\n    | `metadata.items`\n    | `metadata.offset`\n    | `totalResults`,\n    5\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    query: options?.query,\n  });\n\n  const reqOpts = ambassadorWixStoresV2Inventory.queryInventory(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0].query' },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface QueryInventoryOptions {\n  /** Information about paging, filters, sorting. */\n  query?: Query;\n}\n","import { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixInventoryApiV1InventoryReadApiUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/stores-reader/v2/collections',\n        destPath: '/v2/collections',\n      },\n      {\n        srcPath: '/stores-reader/v2/inventoryItems',\n        destPath: '/v2/inventoryItems',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/wix-ecommerce-catalog-reader-web',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/stores-reader/v2/inventoryItems',\n        destPath: '/v2/inventoryItems',\n      },\n      {\n        srcPath: '/stores-reader/v2/collections',\n        destPath: '/v2/collections',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveWixInventoryApiV1InventoryWriteApiUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/wix-ecommerce-catalog-web',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n      {\n        srcPath: '/wix-ecommerce-catalog',\n        destPath: '',\n      },\n    ],\n    'ecom._base_domain_': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n    '*.pub.wix-code.com': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/stores/v1/inventoryItems',\n        destPath: '/v1/inventoryItems',\n      },\n      {\n        srcPath: '/stores/v2/inventoryItems',\n        destPath: '/v2/inventoryItems',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/wix-ecommerce-catalog',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n    'www.wixgateway.com': [\n      {\n        srcPath: '/stores/v1/products',\n        destPath: '/v1/products',\n      },\n      {\n        srcPath: '/stores/v1/collections',\n        destPath: '/v1/collections',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/catalog-server',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_stores_inventory';\n\n/**\n * Updates product inventory, including total quantity, whether the product is in stock, and whether the product inventory is tracked.\n *\n *\n * The `updateInventoryVariants()` function is a Promise that resolves to the updated inventory variant data.\n */\nexport function updateInventoryVariants(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __updateInventoryVariants({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [{ path: 'inventoryItem.lastUpdated' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.stores.v2.inventory',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.inventory.api.v1.InventoryWriteApi.UpdateInventoryVariants',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixInventoryApiV1InventoryWriteApiUrl({\n        protoPath: '/v2/inventoryItems/product/{inventoryItem.productId}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n    };\n\n    return metadata;\n  }\n\n  return __updateInventoryVariants;\n}\n\n/**\n * Subtracts a set number of items from inventory.\n *\n *\n * The `decrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n */\nexport function decrementInventory(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __decrementInventory({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.stores.v2.inventory',\n      method: 'POST' as any,\n      methodFqn: 'wix.inventory.api.v1.InventoryWriteApi.DecrementInventory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixInventoryApiV1InventoryWriteApiUrl({\n        protoPath: '/v2/inventoryItems/decrement',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __decrementInventory;\n}\n\n/**\n * Adds a set number of items to inventory.\n *\n *\n * The `incrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n */\nexport function incrementInventory(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __incrementInventory({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.stores.v2.inventory',\n      method: 'POST' as any,\n      methodFqn: 'wix.inventory.api.v1.InventoryWriteApi.IncrementInventory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixInventoryApiV1InventoryWriteApiUrl({\n        protoPath: '/v2/inventoryItems/increment',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __incrementInventory;\n}\n\n/**\n * Gets inventory variant information based on the specified option choices.\n *\n *\n * The `getInventoryVariants()` function returns a Promise that resolves to the specified inventory variant information.\n */\nexport function getInventoryVariants(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getInventoryVariants({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.stores.v2.inventory',\n      method: 'POST' as any,\n      methodFqn: 'wix.inventory.api.v1.InventoryReadApi.GetInventoryVariants',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixInventoryApiV1InventoryReadApiUrl({\n        protoPath: '/v2/inventoryItems/{inventoryId}/getVariants',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'inventoryItem.lastUpdated' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getInventoryVariants;\n}\n\n/** Returns a list of inventory items, given the provided paging, sorting and filtering. */\nexport function queryInventory(payload: object): RequestOptionsFactory<any> {\n  function __queryInventory({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.stores.v2.inventory',\n      method: 'POST' as any,\n      methodFqn: 'wix.inventory.api.v1.InventoryReadApi.QueryInventory',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixInventoryApiV1InventoryReadApiUrl({\n        protoPath: '/v2/inventoryItems/query',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'inventoryItems.lastUpdated' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryInventory;\n}\n","import {\n  updateInventoryVariants as publicUpdateInventoryVariants,\n  decrementInventory as publicDecrementInventory,\n  incrementInventory as publicIncrementInventory,\n  getInventoryVariants as publicGetInventoryVariants,\n  queryInventory as publicQueryInventory,\n} from './stores-v2-inventory-inventory.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n  BuildRESTFunction,\n  MaybeContext,\n  BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onInventoryItemChanged as publicOnInventoryItemChanged } from './stores-v2-inventory-inventory.public.js';\nimport { onInventoryVariantsChanged as publicOnInventoryVariantsChanged } from './stores-v2-inventory-inventory.public.js';\n\nexport const updateInventoryVariants: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateInventoryVariants> &\n    typeof publicUpdateInventoryVariants\n> = /*#__PURE__*/ createRESTModule(publicUpdateInventoryVariants);\nexport const decrementInventory: MaybeContext<\n  BuildRESTFunction<typeof publicDecrementInventory> &\n    typeof publicDecrementInventory\n> = /*#__PURE__*/ createRESTModule(publicDecrementInventory);\nexport const incrementInventory: MaybeContext<\n  BuildRESTFunction<typeof publicIncrementInventory> &\n    typeof publicIncrementInventory\n> = /*#__PURE__*/ createRESTModule(publicIncrementInventory);\nexport const getInventoryVariants: MaybeContext<\n  BuildRESTFunction<typeof publicGetInventoryVariants> &\n    typeof publicGetInventoryVariants\n> = /*#__PURE__*/ createRESTModule(publicGetInventoryVariants);\nexport const queryInventory: MaybeContext<\n  BuildRESTFunction<typeof publicQueryInventory> & typeof publicQueryInventory\n> = /*#__PURE__*/ createRESTModule(publicQueryInventory);\n/**\n * Triggered when an inventory item is changed.\n */\nexport const onInventoryItemChanged: BuildEventDefinition<\n  typeof publicOnInventoryItemChanged\n> &\n  typeof publicOnInventoryItemChanged = createEventModule(\n  publicOnInventoryItemChanged\n);\n/**\n * Triggered when inventory variants are changed.\n */\nexport const onInventoryVariantsChanged: BuildEventDefinition<\n  typeof publicOnInventoryVariantsChanged\n> &\n  typeof publicOnInventoryVariantsChanged = createEventModule(\n  publicOnInventoryVariantsChanged\n);\n\nexport {\n  ReasonType,\n  WebhookIdentityType,\n} from './stores-v2-inventory-inventory.universal.js';\nexport {\n  InventoryItemV2,\n  InventoryVariantV2,\n  PreorderInfo,\n  UpdateInventoryVariantsRequest,\n  UpdateInventoryVariantsResponse,\n  BulkUpdateInventoryVariantsRequest,\n  BulkUpdateInventoryVariantsRequestActionOneOf,\n  BulkUpdateInventoryVariantsResponse,\n  BulkUpdateInventoryItemsRequest,\n  BulkUpdateInventoryItemsResponse,\n  DecrementInventoryRequest,\n  DecrementData,\n  DecrementDataIdOneOf,\n  DecrementInventoryResponse,\n  IncrementInventoryRequest,\n  IncrementData,\n  IncrementDataIdOneOf,\n  IncrementInventoryResponse,\n  InventoryItemChanged,\n  InventoryVariantsChanged,\n  ChangedInventoryVariant,\n  ChangedInventoryVariantData,\n  GetInventoryVariantsRequest,\n  GetInventoryVariantsRequestIdOneOf,\n  GetInventoryVariantsResponse,\n  GetInventoryItemsRequest,\n  GetInventoryItemsResponse,\n  QueryInventoryRequest,\n  Query,\n  Paging,\n  QueryInventoryResponse,\n  PagingMetadata,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  InventoryItemChangedEnvelope,\n  InventoryVariantsChangedEnvelope,\n  UpdateInventoryVariantsInventoryItem,\n  GetInventoryVariantsOptions,\n  GetInventoryVariantsOptionsIdOneOf,\n  QueryInventoryOptions,\n} from './stores-v2-inventory-inventory.universal.js';\nexport {\n  ReasonTypeWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n} from './stores-v2-inventory-inventory.universal.js';\n"]}