@wix/auto_sdk_stores_catalog-imports-v-3 1.0.20 → 1.0.22

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.http.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.public.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.context.ts"],"sourcesContent":["export * from './src/stores-catalog-v3-catalog-import-catalog-imports-v-3.context.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 ambassadorWixStoresCatalogV3CatalogImport from './stores-catalog-v3-catalog-import-catalog-imports-v-3.http.js';\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKVideoV2ToRESTVideoV2 } from '@wix/sdk-runtime/transformations/video-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/** Catalog Import represents an import session for product upsert operations. */\nexport interface CatalogImport {\n /**\n * CatalogImport ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the CatalogImport was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport interface CreateCatalogImportRequest {\n /** CatalogImport to be created. */\n catalogImport: CatalogImport;\n}\n\nexport interface CreateCatalogImportResponse {\n /** Created CatalogImport. */\n catalogImport?: CatalogImport;\n}\n\nexport interface AddProductsToImportRequest {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId: string;\n /**\n * List of product items to add to the import session.\n * @minSize 1\n * @maxSize 100\n */\n products: ProductItem[];\n}\n\nexport interface ProductItem {\n /** Product to upsert - handle field is required for identification */\n product?: ProductWithInventory;\n /**\n * Categories to set for the product.\n * Overrides any existing category assignments.\n */\n categoryIdsInfo?: ProductCategoryIdsInfo;\n}\n\nexport interface ProductWithInventory\n extends ProductWithInventoryTypedPropertiesOneOf {\n /**\n * Physical properties.\n *\n * Required when `productType: PHYSICAL`.\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Product ID.\n * @minLength 1\n * @maxLength 36\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the product is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the product.\n *\n * Ignored when creating a product with inventory.\n * @readonly\n */\n revision?: string | null;\n /**\n * Product name. Translatable.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Product slug.\n *\n * If not provided, the slug is autogenerated based on the product name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /**\n * Product description in HTML.\n *\n * + When provided on create/update, this string must be valid HTML. It's then converted to rich content.\n * + `plainDescription` is ignored when a value is also passed to the `description` field.\n * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n * @maxLength 16000\n */\n plainDescription?: string | null;\n /**\n * Whether the product is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Whether the product is visible in POS (point of sale).\n *\n * Default: `true`\n * > **Note:** Always `false` for `productType: DIGITAL`.\n */\n visibleInPos?: boolean | null;\n /** Product media items. */\n media?: Media;\n /** Product SEO data. */\n seoData?: SeoSchema;\n /**\n * [Tax group ID](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/tax/tax-groups/introduction). Used to apply specific tax rates to products.\n * @format GUID\n */\n taxGroupId?: string | null;\n /**\n * Product options. Each option (like \"Size\" or \"Color\") creates variants when combined with other options.\n *\n * When you provide options, you must also provide the corresponding variants. Each variant must have exactly one choice for each option.\n * To use existing [customizations](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction), pass their IDs. Otherwise, new customization entities are automatically created.\n * @maxSize 6\n */\n options?: ConnectedOption[];\n /**\n * Product modifiers. Collect additional information from customers without creating variants.\n *\n * Unlike options, modifiers don't affect inventory or create additional variants. Use them for customizations like gift messages or engraving text.\n * To use existing [customizations](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction), pass their IDs. Otherwise, new customization entities are automatically created.\n * @maxSize 10\n */\n modifiers?: ConnectedModifier[];\n /**\n * Product brand.\n *\n * + Pass `brand.name` to add a new brand while creating a product.\n * + Pass an existing brand's `id` to assign that brand to the product.\n */\n brand?: Brand;\n /**\n * Product info section.\n *\n * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n * @maxSize 10\n */\n infoSections?: InfoSection[];\n /**\n * Product ribbon.\n *\n * + Pass `ribbon.name` to add a new ribbon while creating a product.\n * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n */\n ribbon?: Ribbon;\n /**\n * The ID of the product's primary direct category, which defines the product's breadcrumbs path. For example, if the product's main category is \"T-Shirts\" (which is a subcategory of \"Clothing\"), the breadcrumbs path will be \"Clothing > T-Shirts\".\n * @format GUID\n */\n mainCategoryId?: string | null;\n /**\n * Product type: `PHYSICAL` for tangible goods that require shipping, or `DIGITAL` for downloadable content.\n *\n * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`. When passing `productType: DIGITAL`, you can optionally pass `digitalProperties` in each variant.\n * @immutable\n */\n productType?: ProductTypeWithLiterals;\n /**\n * A unique human-friendly identifier for the product.\n *\n * Unlike the auto-generated `id`, the handle can be set when creating a product. This is useful when re-importing products from other systems, as it provides a stable identifier across platforms. If not provided during creation, one is automatically generated. Can't be changed after creation.\n * @minLength 1\n * @maxLength 100\n * @readonly\n */\n handle?: string | null;\n /**\n * ID of the last import job that affected the product.\n * @internal\n * @format GUID\n */\n importId?: string | null;\n /**\n * Optional - ID of the app that manages the inventory for this product.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Product variants. Each variant must reference all product options via its `choices` array.\n * Each choice references an option using `optionChoiceNames` for all requests.\n */\n variantsInfo?: VariantsInfo;\n /**\n * Product subscriptions.\n *\n * Subscription discounts are defined at the product level but apply to each variant's `actualPrice`. This means the final subscription price varies per variant based on the variant's base price.\n */\n subscriptionDetails?: SubscriptionDetails;\n /**\n * Custom extended fields for the product object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\n/** @oneof */\nexport interface ProductWithInventoryTypedPropertiesOneOf {\n /**\n * Physical properties.\n *\n * Required when `productType: PHYSICAL`.\n */\n physicalProperties?: PhysicalProperties;\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface V1Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: V1Media;\n /** Video thumbnail file details. */\n thumbnail?: V1Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: V1Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: V1Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: V1Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: V1Media;\n /** Video thumbnail details. */\n thumbnail?: V1Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: V1Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: V1Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border */\n borderRadius?: number | null;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backdropColor?: string | null;\n /** Backdrop image.radius in pixels. */\n backdropImage?: BackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: V1Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport interface Media {\n /**\n * Main media (image, video, etc.) associated with this product.\n * Automatically set to the first item in the media list.\n * @readonly\n */\n main?: ProductMedia;\n /**\n * All media items.\n * > **Note:** Returned only when you pass `\"MEDIA_ITEMS_INFO\"` to the `fields` array in Products API requests.\n */\n itemsInfo?: MediaItemsInfo;\n}\n\nexport interface ProductMedia\n extends ProductMediaSetByOneOf,\n ProductMediaMediaOneOf {\n /**\n * Set media by ID of an existing file in Wix Media Manager.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * Set media using an external media URL.\n * @format WEB_URL\n */\n url?: string;\n /**\n * Image details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in `set_by`.\n * @readonly\n */\n image?: string;\n /**\n * Video details. Populated when you provide a Wix Media Manager file ID in `set_by`.\n * @readonly\n */\n video?: string;\n /**\n * Image alt text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n /**\n * Media display name.\n *\n * Overrides the default media name. Can be passed only when the media is set by a URL in `setBy``.\n * @maxLength 80\n */\n displayName?: string | null;\n /**\n * Media type.\n * @readonly\n */\n mediaType?: MediaTypeWithLiterals;\n /**\n * Media thumbnail.\n * > **Note:** Returned only when you pass `\"THUMBNAIL\"` to the `fields` array in Products API requests.\n */\n thumbnail?: Thumbnail;\n /**\n * ID used to upload media to Wix Media Manager.\n * @readonly\n * @format GUID\n */\n uploadId?: string;\n}\n\n/** @oneof */\nexport interface ProductMediaSetByOneOf {\n /**\n * Set media by ID of an existing file in Wix Media Manager.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * Set media using an external media URL.\n * @format WEB_URL\n */\n url?: string;\n}\n\n/** @oneof */\nexport interface ProductMediaMediaOneOf {\n /**\n * Image details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in `set_by`.\n * @readonly\n */\n image?: string;\n /**\n * Video details. Populated when you provide a Wix Media Manager file ID in `set_by`.\n * @readonly\n */\n video?: string;\n}\n\nexport interface VideoResolution {\n /**\n * Video URL.\n * @format WEB_URL\n */\n url?: string;\n /** Video height. */\n height?: number;\n /** Video width. */\n width?: number;\n /**\n * Video format for example, mp4, hls.\n * @maxLength 200\n */\n format?: string;\n}\n\nexport enum MediaType {\n UNKNOWN_MEDIA_TYPE = 'UNKNOWN_MEDIA_TYPE',\n /** Image media type. */\n IMAGE = 'IMAGE',\n /** Video media type. */\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MediaTypeWithLiterals =\n | MediaType\n | 'UNKNOWN_MEDIA_TYPE'\n | 'IMAGE'\n | 'VIDEO';\n\nexport interface Thumbnail {\n /**\n * Thumbnail url.\n * @format WEB_URL\n */\n url?: string;\n /** Thumbnail height. */\n height?: number;\n /** Thumbnail width. */\n width?: number;\n /**\n * Thumbnail alt text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n}\n\nexport interface MediaItemsInfo {\n /**\n * All media items associated with this product.\n *\n * The first item in the array is automatically set as the product's main media.\n * @maxSize 15\n */\n items?: ProductMedia[];\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface ConnectedOption extends ConnectedOptionOptionSettingsOneOf {\n /** Choices settings. */\n choicesSettings?: ChoicesSettings;\n /**\n * ID of a customization with `customizationType: PRODUCT_OPTION`.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Option name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /** Option render type. */\n optionRenderType?: ProductOptionRenderTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ConnectedOptionOptionSettingsOneOf {\n /** Choices settings. */\n choicesSettings?: ChoicesSettings;\n}\n\nexport enum ProductOptionRenderType {\n /** Not implemented. */\n UNKNOWN_OPTION_RENDER_TYPE = 'UNKNOWN_OPTION_RENDER_TYPE',\n /** Text choices. */\n TEXT_CHOICES = 'TEXT_CHOICES',\n /** Swatch choices. */\n SWATCH_CHOICES = 'SWATCH_CHOICES',\n}\n\n/** @enumType */\nexport type ProductOptionRenderTypeWithLiterals =\n | ProductOptionRenderType\n | 'UNKNOWN_OPTION_RENDER_TYPE'\n | 'TEXT_CHOICES'\n | 'SWATCH_CHOICES';\n\nexport interface ChoicesSettings {\n /**\n * List of available choices for the option.\n * @minSize 1\n * @maxSize 100\n * @immutable\n */\n choices?: ConnectedOptionChoice[];\n}\n\nexport interface ConnectedOptionChoice extends ConnectedOptionChoiceValueOneOf {\n /**\n * Single color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). For example, `#FF0000` for red.\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n /**\n * Choice ID.\n * @format GUID\n */\n choiceId?: string | null;\n /**\n * Product media to display when this choice is selected.\n *\n * When not empty, only these images are shown when a customer selects this choice. Otherwise, all product images are shown.\n * When multiple choices from different options are selected, only media present in `linkedMedia` of ALL selected choices are shown.\n * For example, if `Color: Red` has images 1, 2, 3 and `Material: Silk` has images 2, 3, 5, then only images 2 and 3 are shown when both are selected.\n * @maxSize 15\n */\n linkedMedia?: ProductMedia[];\n /** Choice type. */\n choiceType?: ChoiceTypeWithLiterals;\n /**\n * Choice name. For text choices, this field also contains the choice value.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /**\n * Whether at least one variant with this choice is in stock in the default location of the store.\n *\n * For example, a product with Color and Size options has these variants: [Blue, Small] which is out of stock and [Red, Large] which is in stock. For choice Blue, this field is `false`. For choice Red, this field is `true`.\n * @readonly\n */\n inStock?: boolean;\n /**\n * Whether at least one variant with this choice is visible.\n *\n * Default: `false`\n * @readonly\n */\n visible?: boolean;\n}\n\n/** @oneof */\nexport interface ConnectedOptionChoiceValueOneOf {\n /**\n * Single color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). For example, `#FF0000` for red.\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n}\n\nexport enum ChoiceType {\n UNKNOWN_CHOICE_TYPE = 'UNKNOWN_CHOICE_TYPE',\n /** Text choice. */\n CHOICE_TEXT = 'CHOICE_TEXT',\n /** Single color choice. */\n ONE_COLOR = 'ONE_COLOR',\n}\n\n/** @enumType */\nexport type ChoiceTypeWithLiterals =\n | ChoiceType\n | 'UNKNOWN_CHOICE_TYPE'\n | 'CHOICE_TEXT'\n | 'ONE_COLOR';\n\nexport interface MultipleColors {\n /**\n * List of color codes.\n * @minLength 3\n * @maxLength 20\n * @minSize 2\n * @maxSize 2\n */\n colorCodes?: string[];\n}\n\nexport interface ConnectedModifier\n extends ConnectedModifierModifierSettingsOneOf {\n /** Free text modifier settings. */\n freeTextSettings?: FreeTextSettings;\n /** Choice settings. */\n choicesSettings?: ModifierChoicesSettings;\n /**\n * ID of a customization with `customizationType: MODIFIER`.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Modifier title.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /** Modifier render type. */\n modifierRenderType?: ModifierRenderTypeWithLiterals;\n /** Whether customer input is required for this modifier. */\n mandatory?: boolean;\n}\n\n/** @oneof */\nexport interface ConnectedModifierModifierSettingsOneOf {\n /** Free text modifier settings. */\n freeTextSettings?: FreeTextSettings;\n /** Choice settings. */\n choicesSettings?: ModifierChoicesSettings;\n}\n\nexport enum ModifierRenderType {\n /** Not implemented. */\n UNKNOWN_MODIFIER_RENDER_TYPE = 'UNKNOWN_MODIFIER_RENDER_TYPE',\n /** Free text. */\n FREE_TEXT = 'FREE_TEXT',\n /** Text choices. */\n TEXT_CHOICES = 'TEXT_CHOICES',\n /** Swatch choices. */\n SWATCH_CHOICES = 'SWATCH_CHOICES',\n}\n\n/** @enumType */\nexport type ModifierRenderTypeWithLiterals =\n | ModifierRenderType\n | 'UNKNOWN_MODIFIER_RENDER_TYPE'\n | 'FREE_TEXT'\n | 'TEXT_CHOICES'\n | 'SWATCH_CHOICES';\n\nexport interface FreeTextSettings {\n /** Minimum number of characters. */\n minCharCount?: number;\n /**\n * Maximum number of characters.\n * @max 500\n */\n maxCharCount?: number;\n /**\n * Default amount to be added to the product's price.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n defaultAddedPrice?: string | null;\n /**\n * Title of the text to be input by the customer.\n * @minLength 1\n * @maxLength 150\n */\n title?: string;\n}\n\nexport interface ModifierChoicesSettings {\n /**\n * List of modifier choices.\n * @minSize 1\n * @maxSize 100\n * @immutable\n */\n choices?: ConnectedModifierChoice[];\n}\n\nexport interface ConnectedModifierChoice\n extends ConnectedModifierChoiceValueOneOf {\n /**\n * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n /**\n * Choice ID.\n * @format GUID\n */\n choiceId?: string | null;\n /**\n * Product media.\n * @maxSize 15\n */\n linkedMedia?: ProductMedia[];\n /** Choice type. */\n choiceType?: ChoiceTypeWithLiterals;\n /**\n * Modifier key. Used for eCommerce integration.\n * @readonly\n * @minLength 1\n * @maxLength 50\n */\n key?: string;\n /**\n * Choice name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /**\n * Added price.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n addedPrice?: string | null;\n}\n\n/** @oneof */\nexport interface ConnectedModifierChoiceValueOneOf {\n /**\n * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n}\n\nexport interface Brand {\n /**\n * Brand ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Brand name.\n * @maxLength 50\n */\n name?: string | null;\n}\n\nexport interface InfoSection {\n /**\n * Info section ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Info section unique name.\n * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n * @maxLength 100\n */\n uniqueName?: string | null;\n /**\n * Info section title.\n * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n * @minLength 1\n * @maxLength 50\n * @readonly\n */\n title?: string | null;\n /**\n * Info section description using rich content.\n * > **Note:** Returned only when you pass `\"INFO_SECTION_DESCRIPTION\"` to the `fields` array in Products API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n * @readonly\n */\n description?: RichContent;\n /**\n * Info section description in HTML.\n *\n * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n * `plainDescription` is ignored when value is also passed to the `description` field.\n * > **Note:** Returned only when you pass `\"INFO_SECTION_PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n * @maxLength 16000\n */\n plainDescription?: string | null;\n}\n\nexport interface Ribbon {\n /**\n * Ribbon ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Ribbon name.\n * @maxLength 30\n */\n name?: string | null;\n}\n\nexport enum ProductType {\n /** Not implemented. */\n UNKNOWN_PRODUCT_TYPE = 'UNKNOWN_PRODUCT_TYPE',\n /** Physical product. */\n PHYSICAL = 'PHYSICAL',\n /** Digital product. */\n DIGITAL = 'DIGITAL',\n}\n\n/** @enumType */\nexport type ProductTypeWithLiterals =\n | ProductType\n | 'UNKNOWN_PRODUCT_TYPE'\n | 'PHYSICAL'\n | 'DIGITAL';\n\nexport interface PhysicalProperties {\n /**\n * Price per unit settings.\n * > **Note:** Use this field only when relevant. For example, for products that are sold by weight, volume, or length.\n */\n pricePerUnit?: PricePerUnitSettings;\n /**\n * Fulfiller ID.\n * @format GUID\n */\n fulfillerId?: string | null;\n /**\n * Product shipping weight range - Calculated from the lightest and heaviest variant shipping weights.\n * @readonly\n */\n shippingWeightRange?: WeightRange;\n /**\n * Product price per unit range. The minimum and maximum price per unit of all the variants.\n * @readonly\n */\n pricePerUnitRange?: PricePerUnitRange;\n /**\n * Weight measurement unit.\n * > **Note:** Returned only when you pass `\"WEIGHT_MEASUREMENT_UNIT_INFO\"` to the `fields` array in Products API requests.\n * @readonly\n */\n weightMeasurementUnitInfo?: WeightMeasurementUnitInfo;\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\nexport interface PricePerUnitSettings {\n /**\n * Quantity.\n * For example, to define price per per 100 grams, set this field to `100`.\n * @min 0.01\n * @max 999999999.99\n */\n quantity?: number;\n /**\n * Measurement unit.\n * For example, to define price per 100 grams, set this field to \"G\".\n */\n measurementUnit?: MeasurementUnitWithLiterals;\n}\n\nexport enum MeasurementUnit {\n UNSPECIFIED = 'UNSPECIFIED',\n ML = 'ML',\n CL = 'CL',\n L = 'L',\n CBM = 'CBM',\n MG = 'MG',\n G = 'G',\n KG = 'KG',\n MM = 'MM',\n CM = 'CM',\n M = 'M',\n SQM = 'SQM',\n OZ = 'OZ',\n LB = 'LB',\n FLOZ = 'FLOZ',\n PT = 'PT',\n QT = 'QT',\n GAL = 'GAL',\n IN = 'IN',\n FT = 'FT',\n YD = 'YD',\n SQFT = 'SQFT',\n}\n\n/** @enumType */\nexport type MeasurementUnitWithLiterals =\n | MeasurementUnit\n | 'UNSPECIFIED'\n | 'ML'\n | 'CL'\n | 'L'\n | 'CBM'\n | 'MG'\n | 'G'\n | 'KG'\n | 'MM'\n | 'CM'\n | 'M'\n | 'SQM'\n | 'OZ'\n | 'LB'\n | 'FLOZ'\n | 'PT'\n | 'QT'\n | 'GAL'\n | 'IN'\n | 'FT'\n | 'YD'\n | 'SQFT';\n\nexport interface WeightRange {\n /**\n * Minimum weight across all variants associated with this product.\n * @max 999999999.99\n */\n minValue?: number;\n /**\n * Maximum weight across all variants associated with this product.\n * @max 999999999.99\n */\n maxValue?: number;\n}\n\nexport interface PricePerUnitRange {\n /** Minimum price per unit across all variants. */\n minValue?: PricePerUnitRangePricePerUnit;\n /** Maximum price per unit across all variants. */\n maxValue?: PricePerUnitRangePricePerUnit;\n}\n\nexport interface PricePerUnitRangePricePerUnit {\n /**\n * Calculated value of price per unit. Takes into account pricePerUnit settings of product and variants and price of variants.\n * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n * @readonly\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n value?: string;\n /**\n * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg.\n * > **Note:** This field is returned by the API only when you pass `fields: \"CURRENCY\"` in a request.\n * @readonly\n * @maxLength 100\n */\n description?: string | null;\n}\n\nexport interface WeightMeasurementUnitInfo {\n /**\n * Weight measurement unit.\n * @readonly\n */\n weightMeasurementUnit?: WeightUnitWithLiterals;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface VariantsInfo {\n /**\n * List of related variants.\n * Partial update of variants is not supported so on update you must pass all data for all of them.\n * If you want to update existing variant you must provide `id`, otherwise new variant with different id will be created which might break some integrations that rely on variant ids.\n * @minSize 1\n * @maxSize 1000\n */\n variants?: VariantWithInventory[];\n}\n\nexport interface VariantWithInventory\n extends VariantWithInventoryTypedPropertiesOneOf {\n /** Physical properties. Must be passed when `productType: PHYSICAL` */\n physicalProperties?: VariantPhysicalProperties;\n /** Digital properties. Must be passed when `productType: DIGITAL` */\n digitalProperties?: VariantDigitalProperties;\n /**\n * Variant ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Whether the variant is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Variant SKU (stock keeping unit).\n * @minLength 1\n * @maxLength 40\n */\n sku?: string | null;\n /**\n * Variant barcode.\n * @minLength 1\n * @maxLength 40\n */\n barcode?: string | null;\n /** Variant price. */\n price?: PriceInfo;\n /**\n * Variant revenue details.\n *\n * > **Note:** Returned only when the following conditions are met:\n * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n */\n revenueDetails?: RevenueDetails;\n /** Inventory item of the variant on the default location. */\n inventoryItem?: InventoryItemComposite;\n /**\n * List of choices.\n * @maxSize 6\n * @immutable\n */\n choices?: OptionChoiceReferences[];\n}\n\n/** @oneof */\nexport interface VariantWithInventoryTypedPropertiesOneOf {\n /** Physical properties. Must be passed when `productType: PHYSICAL` */\n physicalProperties?: VariantPhysicalProperties;\n /** Digital properties. Must be passed when `productType: DIGITAL` */\n digitalProperties?: VariantDigitalProperties;\n}\n\nexport interface PriceInfo {\n /** Variant's current selling price. Must be greater than or equal to 0. */\n actualPrice?: FixedMonetaryAmount;\n /** Original price before any discount, shown with a strikethrough in the UI of Wix sites. Only set this if a discount applies. When set, it should be higher than `actualPrice` to reflect savings. */\n compareAtPrice?: FixedMonetaryAmount;\n}\n\nexport interface FixedMonetaryAmount {\n /**\n * Monetary amount. For example, `\"3.99\"`, or `\"-4.99\"` for a negative amount.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n amount?: string;\n /**\n * Formatted monetary amount. For example, `\"$3.99\"`.\n * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n * @readonly\n * @maxLength 20\n */\n formattedAmount?: string | null;\n}\n\nexport interface RevenueDetails {\n /** Item cost. */\n cost?: FixedMonetaryAmount;\n /**\n * Profit. Calculated by reducing `cost` from `discountedPrice`.\n * @readonly\n */\n profit?: FixedMonetaryAmount;\n /**\n * Profit Margin. Calculated by dividing `profit` by `discountedPrice`.\n * The result is rounded to 4 decimal places.\n * @readonly\n * @max 1\n */\n profitMargin?: number;\n}\n\nexport interface VariantPhysicalProperties {\n /**\n * Variant shipping weight.\n * product.physicalProperties.shipping_weight_range values are taken from here.\n * @max 999999999.99\n */\n weight?: number | null;\n /**\n * Price per unit info, in order to show price per unit on the product page.\n * For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.\n * But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.\n */\n pricePerUnit?: PricePerUnit;\n}\n\nexport interface PricePerUnit {\n /**\n * Price per unit data for this variant.\n * `measurementUnit` value must correspond to the measurement unit set on the product.\n */\n settings?: PricePerUnitSettings;\n /**\n * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, of this variant, and discounted price of variant.\n * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n * @readonly\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n value?: string;\n /**\n * Price per unit description.\n * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n * @readonly\n * @maxLength 100\n */\n description?: string | null;\n}\n\nexport interface VariantDigitalProperties {\n /**\n * Digital file which will be downloaded by the buyer after successful purchase.\n * Each variant can have a different digital file, allowing you to offer different content per variant.\n */\n digitalFile?: SecuredMedia;\n}\n\nexport interface SecuredMedia {\n /**\n * Media ID in media manager.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * Original file name.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n */\n fileName?: string;\n /**\n * Original file size.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n * @format DECIMAL_VALUE\n * @decimalValue options { maxScale:0 }\n */\n fileSize?: string | null;\n /**\n * File type.\n * @readonly\n */\n fileType?: FileTypeWithLiterals;\n}\n\nexport enum FileType {\n /** Unspecified file type. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** Secure picture file. */\n SECURE_PICTURE = 'SECURE_PICTURE',\n /** Secure video file. */\n SECURE_VIDEO = 'SECURE_VIDEO',\n /** Secure document file. */\n SECURE_DOCUMENT = 'SECURE_DOCUMENT',\n /** Secure music file. */\n SECURE_MUSIC = 'SECURE_MUSIC',\n /** Secure archive file. */\n SECURE_ARCHIVE = 'SECURE_ARCHIVE',\n}\n\n/** @enumType */\nexport type FileTypeWithLiterals =\n | FileType\n | 'UNSPECIFIED'\n | 'SECURE_PICTURE'\n | 'SECURE_VIDEO'\n | 'SECURE_DOCUMENT'\n | 'SECURE_MUSIC'\n | 'SECURE_ARCHIVE';\n\nexport interface InventoryItemComposite\n extends InventoryItemCompositeTrackingMethodOneOf {\n /**\n * Tracking method - in stock.\n *\n * When set to `true`, the item is available for sale without a quantity limit.\n */\n inStock?: boolean;\n /**\n * Tracking method - quantity left in inventory.\n *\n * Quantity can be negative when decrementing inventory for an order that has already been paid.\n * @min -99999\n * @max 99999\n */\n quantity?: number;\n /**\n * Inventory item ID.\n * If you want to update existing inventory item you must provide id,\n * otherwise new inventory item with different id will be created.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Inventory item revision.\n * @readonly\n */\n revision?: string | null;\n /** Item preorder info. */\n preorderInfo?: PreorderInfo;\n}\n\n/** @oneof */\nexport interface InventoryItemCompositeTrackingMethodOneOf {\n /**\n * Tracking method - in stock.\n *\n * When set to `true`, the item is available for sale without a quantity limit.\n */\n inStock?: boolean;\n /**\n * Tracking method - quantity left in inventory.\n *\n * Quantity can be negative when decrementing inventory for an order that has already been paid.\n * @min -99999\n * @max 99999\n */\n quantity?: number;\n}\n\nexport interface PreorderInfo {\n /**\n * Whether preorder is enabled for the product.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n /**\n * A message the customer 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 * Supported only for inventory items with `trackQuantity = true`.\n *\n * Default: `100000`\n * @max 100000\n */\n limit?: number | null;\n /**\n * Number of times the product was preordered.\n *\n * Supported only for inventory items with `trackQuantity = true`.\n * @readonly\n * @max 99999\n */\n counter?: number | null;\n /**\n * Quantity of products that can be preordered.\n *\n * Supported only for inventory items with `trackQuantity = true`.\n * @readonly\n */\n quantity?: number | null;\n}\n\nexport interface OptionChoiceReferences {\n /** Option and choice IDs. */\n optionChoiceIds?: OptionChoiceIds;\n /** Option and choice names. */\n optionChoiceNames?: OptionChoiceNames;\n}\n\nexport interface OptionChoiceIds {\n /**\n * Option ID.\n * @minLength 1\n * @maxLength 36\n * @immutable\n */\n optionId?: string;\n /**\n * Choice ID.\n * @format GUID\n * @immutable\n */\n choiceId?: string;\n}\n\nexport interface OptionChoiceNames {\n /**\n * Option name.\n * @minLength 1\n */\n optionName?: string;\n /**\n * Choice name.\n * @minLength 1\n */\n choiceName?: string;\n /** Render type. */\n renderType?: ProductOptionRenderTypeWithLiterals;\n}\n\nexport interface SubscriptionDetails {\n /**\n * Subscriptions.\n * @minSize 1\n * @maxSize 6\n */\n subscriptions?: Subscription[];\n /**\n * Whether to allow one-time purchases in addition to subscription-based purchases.\n *\n * Default: `false`\n */\n allowOneTimePurchases?: boolean | null;\n /**\n * Whether to add a 'Cancel subscription' button to the My Subscriptions tab of the [Members Area page](https://support.wix.com/en/article/site-members-about-the-members-area).\n *\n * Default: `false`\n * @internal\n */\n enableCustomerCancellation?: boolean | null;\n}\n\nexport interface Subscription extends SubscriptionCyclesOneOf {\n /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends.\n * @min 2\n * @max 999\n */\n billingCycles?: number;\n /**\n * Subscription ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Subscription title.\n * @minLength 1\n * @maxLength 20\n */\n title?: string;\n /**\n * Subscription description.\n * @maxLength 60\n */\n description?: string | null;\n /**\n * Whether the subscription is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Frequency of recurring payment.\n * For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Interval of recurring payment. Default: `1`. For example, if `frequency: MONTH`, `billingCycles: 3` and `interval: 2`; payment will be made every 2 months for a total of 6 months.\n * @min 1\n * @max 50\n */\n interval?: number | null;\n /**\n * Discount info (optional).\n * For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.\n */\n discount?: SubscriptionDiscount;\n}\n\n/** @oneof */\nexport interface SubscriptionCyclesOneOf {\n /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends.\n * @min 2\n * @max 999\n */\n billingCycles?: number;\n}\n\n/** Frequency unit of recurring payment */\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface SubscriptionDiscount\n extends SubscriptionDiscountDiscountOneOf {\n /**\n * Amount to discount from the variant discounted_price.\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n amountOff?: string;\n /**\n * Percentage to discount from variant discounted_price.\n * @min 0.1\n * @max 99.9\n */\n percentOff?: number;\n /** Discount type. */\n type?: DiscountTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SubscriptionDiscountDiscountOneOf {\n /**\n * Amount to discount from the variant discounted_price.\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n amountOff?: string;\n /**\n * Percentage to discount from variant discounted_price.\n * @min 0.1\n * @max 99.9\n */\n percentOff?: number;\n}\n\nexport enum DiscountType {\n UNKNOWN_DISCOUNT = 'UNKNOWN_DISCOUNT',\n /** Discount by a specific amount. */\n AMOUNT = 'AMOUNT',\n /** Discount by a percentage. */\n PERCENT = 'PERCENT',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'UNKNOWN_DISCOUNT'\n | 'AMOUNT'\n | 'PERCENT';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ProductCategoryIdsInfo {\n /**\n * List of category IDs to set for the product\n * @maxSize 1000\n * @format GUID\n */\n categoryIds?: string[];\n}\n\nexport interface AddProductsToImportResponse {\n /**\n * Action results.\n * @minSize 1\n * @maxSize 100\n */\n results?: AddProductResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface AddProductResult {\n /** Item metadata. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ItemMetadata {\n /**\n * The product `handle` as passed in the `AddProductsToImport` request.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface SubmitCatalogImportRequest {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId: string;\n}\n\nexport interface SubmitCatalogImportResponse {\n /**\n * Job ID for async operation tracking. Pass to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) or [List Async Job Items](https://dev.wix.com/docs/api-reference/business-management/async-job/list-async-job-items) to retrieve details and metadata\n * @format GUID\n */\n jobId?: string;\n /** Total number of items that will be processed in this import */\n totalProductsCount?: number;\n}\n\nexport interface CatalogImportAlreadySubmittedErrorData {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId?: string;\n /**\n * Async Job ID.\n * @format GUID\n */\n asyncJobId?: string;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\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/** @docsIgnore */\nexport type SubmitCatalogImportApplicationErrors = {\n code?: 'CATALOG_IMPORT_ALREADY_SUBMITTED';\n description?: string;\n data?: CatalogImportAlreadySubmittedErrorData;\n};\n\n/**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n * @param catalogImport - CatalogImport to be created.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImport\n * @permissionId stores:catalog:v3:catalog_import:create_catalog_import\n * @applicableIdentity APP\n * @returns Created CatalogImport.\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.CreateCatalogImport\n */\nexport async function createCatalogImport(\n catalogImport: CatalogImport\n): Promise<CatalogImport> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n catalogImport: catalogImport,\n });\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.createCatalogImport(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.catalogImport!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { catalogImport: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImport']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n * @param catalogImportId - Catalog Import ID.\n * @param products - List of product items to add to the import session.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImportId\n * @requiredField products\n * @requiredField products.product\n * @requiredField products.product.handle\n * @permissionId stores:catalog:v3:catalog_import:add_products_to_import\n * @applicableIdentity APP\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.AddProductsToImport\n */\nexport async function addProductsToImport(\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n): Promise<\n NonNullablePaths<\n AddProductsToImportResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n catalogImportId: catalogImportId,\n products: products,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'products.product.media.main.image' },\n { path: 'products.product.media.itemsInfo.items.image' },\n { path: 'products.product.options.choicesSettings.choices.image' },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.image',\n },\n { path: 'products.product.modifiers.choicesSettings.choices.image' },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.image',\n },\n ],\n },\n {\n transformFn: transformSDKVideoV2ToRESTVideoV2,\n paths: [\n { path: 'products.product.media.main.video' },\n { path: 'products.product.media.itemsInfo.items.video' },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video',\n },\n ],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.addProductsToImport(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: { catalogImportId: '$[0]', products: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImportId', 'products']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n * @param catalogImportId - Catalog Import ID.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImportId\n * @permissionId stores:catalog:v3:catalog_import:submit_catalog_import\n * @applicableIdentity APP\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.SubmitCatalogImport\n */\nexport async function submitCatalogImport(catalogImportId: string): Promise<\n NonNullablePaths<\n SubmitCatalogImportResponse,\n `jobId` | `totalProductsCount`,\n 2\n > & {\n __applicationErrorsType?: SubmitCatalogImportApplicationErrors;\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 catalogImportId: catalogImportId,\n });\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.submitCatalogImport(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: { catalogImportId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImportId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\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 resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/stores/v3/catalog-imports',\n destPath: '/v3/catalog-imports',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_stores_catalog-imports-v-3';\n\n/**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n */\nexport function createCatalogImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __createCatalogImport({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'catalogImport.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.CreateCatalogImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'catalogImport.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCatalogImport;\n}\n\n/**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n */\nexport function addProductsToImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __addProductsToImport({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'products.fieldMask' }],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'products.product.physicalProperties.pricePerUnit.quantity' },\n {\n path: 'products.product.physicalProperties.shippingWeightRange.minValue',\n },\n {\n path: 'products.product.physicalProperties.shippingWeightRange.maxValue',\n },\n {\n path: 'products.product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.quantity',\n },\n {\n path: 'products.product.variantsInfo.variants.revenueDetails.profitMargin',\n },\n {\n path: 'products.product.subscriptionDetails.subscriptions.discount.percentOff',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'products.product.description.nodes.imageData.image.duration',\n },\n {\n path: 'products.product.description.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'products.product.description.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'products.product.description.nodes.pollData.poll.image.duration',\n },\n {\n path: 'products.product.description.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'products.product.description.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'products.product.description.nodes.appEmbedData.image.duration',\n },\n {\n path: 'products.product.description.nodes.videoData.video.duration',\n },\n {\n path: 'products.product.description.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'products.product.description.nodes.audioData.audio.duration',\n },\n {\n path: 'products.product.description.nodes.audioData.coverImage.duration',\n },\n {\n path: 'products.product.description.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'products.product.description.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'products.product.infoSections.description.nodes.imageData.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'products.product.infoSections.description.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.poll.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.appEmbedData.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.videoData.video.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.audioData.audio.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.audioData.coverImage.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'products.product.variantsInfo.variants.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'products.product.description.metadata.createdTimestamp' },\n { path: 'products.product.description.metadata.updatedTimestamp' },\n { path: 'products.product.media.main.image.urlExpirationDate' },\n { path: 'products.product.media.main.video.urlExpirationDate' },\n {\n path: 'products.product.media.main.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.media.main.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.media.main.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.image.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.image.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.image.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.image.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.image.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.infoSections.description.metadata.createdTimestamp',\n },\n {\n path: 'products.product.infoSections.description.metadata.updatedTimestamp',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.AddProductsToImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports/{catalogImportId}/add-products',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __addProductsToImport;\n}\n\n/**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n */\nexport function submitCatalogImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __submitCatalogImport({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.SubmitCatalogImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports/{catalogImportId}/submit',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __submitCatalogImport;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n AddProductsToImportResponse,\n CatalogImport,\n ProductItem,\n SubmitCatalogImportApplicationErrors,\n SubmitCatalogImportResponse,\n addProductsToImport as universalAddProductsToImport,\n createCatalogImport as universalCreateCatalogImport,\n submitCatalogImport as universalSubmitCatalogImport,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/stores' };\n\nexport function createCatalogImport(\n httpClient: HttpClient\n): CreateCatalogImportSignature {\n return (catalogImport: CatalogImport) =>\n universalCreateCatalogImport(\n catalogImport,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCatalogImportSignature {\n /**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n * @param - CatalogImport to be created.\n * @returns Created CatalogImport.\n */\n (catalogImport: CatalogImport): Promise<CatalogImport>;\n}\n\nexport function addProductsToImport(\n httpClient: HttpClient\n): AddProductsToImportSignature {\n return (\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n ) =>\n universalAddProductsToImport(\n catalogImportId,\n products,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddProductsToImportSignature {\n /**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n * @param - Catalog Import ID.\n * @param - List of product items to add to the import session.\n */\n (\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n ): Promise<\n NonNullablePaths<\n AddProductsToImportResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function submitCatalogImport(\n httpClient: HttpClient\n): SubmitCatalogImportSignature {\n return (catalogImportId: string) =>\n universalSubmitCatalogImport(\n catalogImportId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SubmitCatalogImportSignature {\n /**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n * @param - Catalog Import ID.\n */\n (catalogImportId: string): Promise<\n NonNullablePaths<\n SubmitCatalogImportResponse,\n `jobId` | `totalProductsCount`,\n 2\n > & {\n __applicationErrorsType?: SubmitCatalogImportApplicationErrors;\n }\n >;\n}\n\nexport {\n ActionEvent,\n AddProductResult,\n AddProductsToImportRequest,\n AddProductsToImportResponse,\n Alignment,\n AnchorData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundImage,\n BackgroundType,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n Brand,\n BulkActionMetadata,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n CatalogImport,\n CatalogImportAlreadySubmittedErrorData,\n CellStyle,\n ChoiceType,\n ChoicesSettings,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ConnectedModifier,\n ConnectedModifierChoice,\n ConnectedModifierChoiceValueOneOf,\n ConnectedModifierModifierSettingsOneOf,\n ConnectedOption,\n ConnectedOptionChoice,\n ConnectedOptionChoiceValueOneOf,\n ConnectedOptionOptionSettingsOneOf,\n CreateCatalogImportRequest,\n CreateCatalogImportResponse,\n Crop,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DiscountType,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmbedData,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventData,\n ExtendedFields,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FileType,\n FixedMonetaryAmount,\n FontFamilyData,\n FontSizeData,\n FontType,\n FreeTextSettings,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n Gradient,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImagePosition,\n ImageStyles,\n InfoSection,\n InitialExpandedItems,\n InventoryItemComposite,\n InventoryItemCompositeTrackingMethodOneOf,\n Item,\n ItemDataOneOf,\n ItemMetadata,\n ItemStyle,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListValue,\n MapData,\n MapSettings,\n MapType,\n MeasurementUnit,\n Media,\n MediaItemsInfo,\n MediaType,\n MentionData,\n MessageEnvelope,\n Metadata,\n ModifierChoicesSettings,\n ModifierRenderType,\n MultipleColors,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n Oembed,\n Option,\n OptionChoiceIds,\n OptionChoiceNames,\n OptionChoiceReferences,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n PDFSettings,\n ParagraphData,\n Permissions,\n PhysicalProperties,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PreorderInfo,\n PriceInfo,\n PricePerUnit,\n PricePerUnitRange,\n PricePerUnitRangePricePerUnit,\n PricePerUnitSettings,\n PricingData,\n ProductCategoryIdsInfo,\n ProductItem,\n ProductMedia,\n ProductMediaMediaOneOf,\n ProductMediaSetByOneOf,\n ProductOptionRenderType,\n ProductType,\n ProductWithInventory,\n ProductWithInventoryTypedPropertiesOneOf,\n Rel,\n Resizing,\n ResponsivenessBehaviour,\n RestoreInfo,\n RevenueDetails,\n Ribbon,\n RibbonStyles,\n RichContent,\n Scaling,\n SecuredMedia,\n SeoSchema,\n Settings,\n Source,\n Spoiler,\n SpoilerData,\n Styles,\n StylesBorder,\n StylesPosition,\n SubmitCatalogImportRequest,\n SubmitCatalogImportResponse,\n Subscription,\n SubscriptionCyclesOneOf,\n SubscriptionDetails,\n SubscriptionDiscount,\n SubscriptionDiscountDiscountOneOf,\n SubscriptionFrequency,\n TableCellData,\n TableData,\n Tag,\n Target,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnail,\n Thumbnails,\n ThumbnailsAlignment,\n Type,\n V1Media,\n VariantDigitalProperties,\n VariantPhysicalProperties,\n VariantWithInventory,\n VariantWithInventoryTypedPropertiesOneOf,\n VariantsInfo,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n VideoResolution,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n WeightMeasurementUnitInfo,\n WeightRange,\n WeightUnit,\n Width,\n WidthType,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n","import {\n createCatalogImport as publicCreateCatalogImport,\n addProductsToImport as publicAddProductsToImport,\n submitCatalogImport as publicSubmitCatalogImport,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createCatalogImport: MaybeContext<\n BuildRESTFunction<typeof publicCreateCatalogImport> &\n typeof publicCreateCatalogImport\n> = /*#__PURE__*/ createRESTModule(publicCreateCatalogImport);\nexport const addProductsToImport: MaybeContext<\n BuildRESTFunction<typeof publicAddProductsToImport> &\n typeof publicAddProductsToImport\n> = /*#__PURE__*/ createRESTModule(publicAddProductsToImport);\nexport const submitCatalogImport: MaybeContext<\n BuildRESTFunction<typeof publicSubmitCatalogImport> &\n typeof publicSubmitCatalogImport\n> = /*#__PURE__*/ createRESTModule(publicSubmitCatalogImport);\n\nexport {\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n Scaling,\n ImagePosition,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n MediaType,\n ProductOptionRenderType,\n ChoiceType,\n ModifierRenderType,\n ProductType,\n MeasurementUnit,\n WeightUnit,\n FileType,\n SubscriptionFrequency,\n DiscountType,\n WebhookIdentityType,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\nexport {\n CatalogImport,\n CreateCatalogImportRequest,\n CreateCatalogImportResponse,\n AddProductsToImportRequest,\n ProductItem,\n ProductWithInventory,\n ProductWithInventoryTypedPropertiesOneOf,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n V1Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n BackgroundImage,\n LayoutCellData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n Media,\n ProductMedia,\n ProductMediaSetByOneOf,\n ProductMediaMediaOneOf,\n VideoResolution,\n Thumbnail,\n MediaItemsInfo,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n ConnectedOption,\n ConnectedOptionOptionSettingsOneOf,\n ChoicesSettings,\n ConnectedOptionChoice,\n ConnectedOptionChoiceValueOneOf,\n MultipleColors,\n ConnectedModifier,\n ConnectedModifierModifierSettingsOneOf,\n FreeTextSettings,\n ModifierChoicesSettings,\n ConnectedModifierChoice,\n ConnectedModifierChoiceValueOneOf,\n Brand,\n InfoSection,\n Ribbon,\n PhysicalProperties,\n PricePerUnitSettings,\n WeightRange,\n PricePerUnitRange,\n PricePerUnitRangePricePerUnit,\n WeightMeasurementUnitInfo,\n VariantsInfo,\n VariantWithInventory,\n VariantWithInventoryTypedPropertiesOneOf,\n PriceInfo,\n FixedMonetaryAmount,\n RevenueDetails,\n VariantPhysicalProperties,\n PricePerUnit,\n VariantDigitalProperties,\n SecuredMedia,\n InventoryItemComposite,\n InventoryItemCompositeTrackingMethodOneOf,\n PreorderInfo,\n OptionChoiceReferences,\n OptionChoiceIds,\n OptionChoiceNames,\n SubscriptionDetails,\n Subscription,\n SubscriptionCyclesOneOf,\n SubscriptionDiscount,\n SubscriptionDiscountDiscountOneOf,\n ExtendedFields,\n ProductCategoryIdsInfo,\n AddProductsToImportResponse,\n AddProductResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n SubmitCatalogImportRequest,\n SubmitCatalogImportResponse,\n CatalogImportAlreadySubmittedErrorData,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\nexport {\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ScalingWithLiterals,\n ImagePositionWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n MediaTypeWithLiterals,\n ProductOptionRenderTypeWithLiterals,\n ChoiceTypeWithLiterals,\n ModifierRenderTypeWithLiterals,\n ProductTypeWithLiterals,\n MeasurementUnitWithLiterals,\n WeightUnitWithLiterals,\n FileTypeWithLiterals,\n SubscriptionFrequencyWithLiterals,\n DiscountTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n SubmitCatalogImportApplicationErrors,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n"],"mappings":"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","names":["addProductsToImport","createCatalogImport","submitCatalogImport","import_timestamp","payload","import_transform_paths","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","Scaling","ImagePosition","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","MediaType","ProductOptionRenderType","ChoiceType","ModifierRenderType","ProductType","MeasurementUnit","WeightUnit","FileType","SubscriptionFrequency","DiscountType","WebhookIdentityType","createCatalogImport","sdkTransformError","addProductsToImport","submitCatalogImport","createCatalogImport","addProductsToImport","submitCatalogImport","import_rest_modules","createCatalogImport","addProductsToImport","submitCatalogImport"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.http.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.public.ts","../../src/stores-catalog-v3-catalog-import-catalog-imports-v-3.context.ts"],"sourcesContent":["export * from './src/stores-catalog-v3-catalog-import-catalog-imports-v-3.context.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 ambassadorWixStoresCatalogV3CatalogImport from './stores-catalog-v3-catalog-import-catalog-imports-v-3.http.js';\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKVideoV2ToRESTVideoV2 } from '@wix/sdk-runtime/transformations/video-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/** Catalog Import represents an import session for product upsert operations. */\nexport interface CatalogImport {\n /**\n * CatalogImport ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the CatalogImport was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport interface CreateCatalogImportRequest {\n /** CatalogImport to be created. */\n catalogImport: CatalogImport;\n}\n\nexport interface CreateCatalogImportResponse {\n /** Created CatalogImport. */\n catalogImport?: CatalogImport;\n}\n\nexport interface AddProductsToImportRequest {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId: string;\n /**\n * List of product items to add to the import session.\n * @minSize 1\n * @maxSize 100\n */\n products: ProductItem[];\n}\n\nexport interface ProductItem {\n /** Product to upsert - handle field is required for identification */\n product?: ProductWithInventory;\n /**\n * Categories to set for the product.\n * Overrides any existing category assignments.\n */\n categoryIdsInfo?: ProductCategoryIdsInfo;\n}\n\nexport interface ProductWithInventory\n extends ProductWithInventoryTypedPropertiesOneOf {\n /**\n * Physical properties.\n *\n * Required when `productType: PHYSICAL`.\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Product ID.\n * @minLength 1\n * @maxLength 36\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the product is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the product.\n *\n * Ignored when creating a product with inventory.\n * @readonly\n */\n revision?: string | null;\n /**\n * Product name. Translatable.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Product slug.\n *\n * If not provided, the slug is autogenerated based on the product name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /**\n * Product description in HTML.\n *\n * + When provided on create/update, this string must be valid HTML. It's then converted to rich content.\n * + `plainDescription` is ignored when a value is also passed to the `description` field.\n * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n * @maxLength 16000\n */\n plainDescription?: string | null;\n /**\n * Whether the product is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Whether the product is visible in POS (point of sale).\n *\n * Default: `true`\n * > **Note:** Always `false` for `productType: DIGITAL`.\n */\n visibleInPos?: boolean | null;\n /** Product media items. */\n media?: Media;\n /** Product SEO data. */\n seoData?: SeoSchema;\n /**\n * [Tax group ID](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/tax/tax-groups/introduction). Used to apply specific tax rates to products.\n * @format GUID\n */\n taxGroupId?: string | null;\n /**\n * Product options, such as \"Size\" or \"Color\". Options define the ways a product can vary.\n *\n * When you provide options, you must also provide the corresponding variants. Each variant must have exactly one choice for each option. For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-product-options-and-variants).\n *\n * Options are stored as reusable [customization](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction) entities. Pass an existing customization's ID to reuse it, or define options inline and new customization entities are created automatically.\n * @maxSize 6\n */\n options?: ConnectedOption[];\n /**\n * Product modifiers. Collect additional information from customers without creating variants.\n *\n * Unlike options, modifiers don't affect inventory or create additional variants. Use them for things like gift messages or engraving text. For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-product-options-and-variants).\n *\n * Modifiers are stored as reusable [customization](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction) entities. Pass an existing customization's ID to reuse it, or define modifiers inline and new customization entities are created automatically.\n * @maxSize 10\n */\n modifiers?: ConnectedModifier[];\n /**\n * Product brand.\n *\n * + Pass `brand.name` to add a new brand while creating a product.\n * + Pass an existing brand's `id` to assign that brand to the product.\n */\n brand?: Brand;\n /**\n * Product info section.\n *\n * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n * @maxSize 10\n */\n infoSections?: InfoSection[];\n /**\n * Product ribbon.\n *\n * + Pass `ribbon.name` to add a new ribbon while creating a product.\n * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n */\n ribbon?: Ribbon;\n /**\n * The ID of the product's primary direct category, which defines the product's breadcrumbs path. For example, if the product's main category is \"T-Shirts\" (which is a subcategory of \"Clothing\"), the breadcrumbs path will be \"Clothing > T-Shirts\".\n * @format GUID\n */\n mainCategoryId?: string | null;\n /**\n * Product type: `PHYSICAL` for tangible goods that require shipping, or `DIGITAL` for downloadable content.\n *\n * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`. When passing `productType: DIGITAL`, you can optionally pass `digitalProperties` in each variant.\n * @immutable\n */\n productType?: ProductTypeWithLiterals;\n /**\n * A unique human-friendly identifier for the product.\n *\n * Unlike the auto-generated `id`, the handle can be set when creating a product. This is useful when re-importing products from other systems, as it provides a stable identifier across platforms. If not provided during creation, one is automatically generated. Can't be changed after creation.\n * @minLength 1\n * @maxLength 100\n * @readonly\n */\n handle?: string | null;\n /**\n * ID of the last import job that affected the product.\n * @internal\n * @format GUID\n */\n importId?: string | null;\n /**\n * Optional - ID of the app that manages the inventory for this product.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Product variants. Each variant represents a specific purchasable version of a product defined by option choices.\n *\n * Each variant must reference all product options via its `choices` array, using `optionChoiceNames` in requests.\n * Variants aren't auto-generated. You must explicitly provide each variant when creating products with options.\n *\n * For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-product-options-and-variants).\n */\n variantsInfo?: VariantsInfo;\n /**\n * Product subscriptions.\n *\n * Subscription discounts are defined at the product level but apply to each variant's `actualPrice`. This means the final subscription price varies per variant based on the variant's base price.\n */\n subscriptionDetails?: SubscriptionDetails;\n /**\n * Custom extended fields for the product object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\n/** @oneof */\nexport interface ProductWithInventoryTypedPropertiesOneOf {\n /**\n * Physical properties.\n *\n * Required when `productType: PHYSICAL`.\n */\n physicalProperties?: PhysicalProperties;\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface V1Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: V1Media;\n /** Video thumbnail file details. */\n thumbnail?: V1Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: V1Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: V1Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: V1Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: V1Media;\n /** Video thumbnail details. */\n thumbnail?: V1Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: V1Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: V1Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border */\n borderRadius?: number | null;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backdropColor?: string | null;\n /** Backdrop image.radius in pixels. */\n backdropImage?: BackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: V1Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport interface Media {\n /**\n * Main media (image, video, etc.) associated with this product.\n * Automatically set to the first item in the media list.\n * @readonly\n */\n main?: ProductMedia;\n /**\n * All media items.\n * > **Note:** Returned only when you pass `\"MEDIA_ITEMS_INFO\"` to the `fields` array in Products API requests.\n */\n itemsInfo?: MediaItemsInfo;\n}\n\nexport interface ProductMedia\n extends ProductMediaSetByOneOf,\n ProductMediaMediaOneOf {\n /**\n * Set media by ID of an existing file in Wix Media Manager.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * Set media using an external media URL.\n * @format WEB_URL\n */\n url?: string;\n /**\n * Image details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in `set_by`.\n * @readonly\n */\n image?: string;\n /**\n * Video details. Populated when you provide a Wix Media Manager file ID in `set_by`.\n * @readonly\n */\n video?: string;\n /**\n * Image alt text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n /**\n * Media display name.\n *\n * Overrides the default media name. Can be passed only when the media is set by a URL in `setBy``.\n * @maxLength 80\n */\n displayName?: string | null;\n /**\n * Media type.\n * @readonly\n */\n mediaType?: MediaTypeWithLiterals;\n /**\n * Media thumbnail.\n * > **Note:** Returned only when you pass `\"THUMBNAIL\"` to the `fields` array in Products API requests.\n */\n thumbnail?: Thumbnail;\n /**\n * ID used to upload media to Wix Media Manager.\n * @readonly\n * @format GUID\n */\n uploadId?: string;\n}\n\n/** @oneof */\nexport interface ProductMediaSetByOneOf {\n /**\n * Set media by ID of an existing file in Wix Media Manager.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * Set media using an external media URL.\n * @format WEB_URL\n */\n url?: string;\n}\n\n/** @oneof */\nexport interface ProductMediaMediaOneOf {\n /**\n * Image details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in `set_by`.\n * @readonly\n */\n image?: string;\n /**\n * Video details. Populated when you provide a Wix Media Manager file ID in `set_by`.\n * @readonly\n */\n video?: string;\n}\n\nexport interface VideoResolution {\n /**\n * Video URL.\n * @format WEB_URL\n */\n url?: string;\n /** Video height. */\n height?: number;\n /** Video width. */\n width?: number;\n /**\n * Video format for example, mp4, hls.\n * @maxLength 200\n */\n format?: string;\n}\n\nexport enum MediaType {\n UNKNOWN_MEDIA_TYPE = 'UNKNOWN_MEDIA_TYPE',\n /** Image media type. */\n IMAGE = 'IMAGE',\n /** Video media type. */\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MediaTypeWithLiterals =\n | MediaType\n | 'UNKNOWN_MEDIA_TYPE'\n | 'IMAGE'\n | 'VIDEO';\n\nexport interface Thumbnail {\n /**\n * Thumbnail url.\n * @format WEB_URL\n */\n url?: string;\n /** Thumbnail height. */\n height?: number;\n /** Thumbnail width. */\n width?: number;\n /**\n * Thumbnail alt text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n}\n\nexport interface MediaItemsInfo {\n /**\n * All media items associated with this product.\n *\n * The first item in the array is automatically set as the product's main media.\n * @maxSize 15\n */\n items?: ProductMedia[];\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface ConnectedOption extends ConnectedOptionOptionSettingsOneOf {\n /** Choices settings. */\n choicesSettings?: ChoicesSettings;\n /**\n * ID of a customization with `customizationType: PRODUCT_OPTION`.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Option name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /** Option render type. */\n optionRenderType?: ProductOptionRenderTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ConnectedOptionOptionSettingsOneOf {\n /** Choices settings. */\n choicesSettings?: ChoicesSettings;\n}\n\nexport enum ProductOptionRenderType {\n /** Not implemented. */\n UNKNOWN_OPTION_RENDER_TYPE = 'UNKNOWN_OPTION_RENDER_TYPE',\n /** Text choices. */\n TEXT_CHOICES = 'TEXT_CHOICES',\n /** Swatch choices. */\n SWATCH_CHOICES = 'SWATCH_CHOICES',\n}\n\n/** @enumType */\nexport type ProductOptionRenderTypeWithLiterals =\n | ProductOptionRenderType\n | 'UNKNOWN_OPTION_RENDER_TYPE'\n | 'TEXT_CHOICES'\n | 'SWATCH_CHOICES';\n\nexport interface ChoicesSettings {\n /**\n * List of available choices for the option.\n * @minSize 1\n * @maxSize 100\n * @immutable\n */\n choices?: ConnectedOptionChoice[];\n}\n\nexport interface ConnectedOptionChoice extends ConnectedOptionChoiceValueOneOf {\n /**\n * Single color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). For example, `#FF0000` for red.\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n /**\n * Choice ID.\n * @format GUID\n */\n choiceId?: string | null;\n /**\n * Product media to display when this choice is selected.\n *\n * When not empty, only these images are shown when a customer selects this choice. Otherwise, all product images are shown.\n * When multiple choices from different options are selected, only media present in `linkedMedia` of ALL selected choices are shown.\n * For example, if `Color: Red` has images 1, 2, 3 and `Material: Silk` has images 2, 3, 5, then only images 2 and 3 are shown when both are selected.\n * @maxSize 15\n */\n linkedMedia?: ProductMedia[];\n /** Choice type. */\n choiceType?: ChoiceTypeWithLiterals;\n /**\n * Choice name. For text choices, this field also contains the choice value.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /**\n * Whether at least one variant with this choice is in stock in the default location of the store.\n *\n * For example, a product with Color and Size options has these variants: [Blue, Small] which is out of stock and [Red, Large] which is in stock. For choice Blue, this field is `false`. For choice Red, this field is `true`.\n * @readonly\n */\n inStock?: boolean;\n /**\n * Whether at least one variant with this choice is visible.\n *\n * Default: `false`\n * @readonly\n */\n visible?: boolean;\n}\n\n/** @oneof */\nexport interface ConnectedOptionChoiceValueOneOf {\n /**\n * Single color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). For example, `#FF0000` for red.\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n}\n\nexport enum ChoiceType {\n UNKNOWN_CHOICE_TYPE = 'UNKNOWN_CHOICE_TYPE',\n /** Text choice. */\n CHOICE_TEXT = 'CHOICE_TEXT',\n /** Single color choice. */\n ONE_COLOR = 'ONE_COLOR',\n}\n\n/** @enumType */\nexport type ChoiceTypeWithLiterals =\n | ChoiceType\n | 'UNKNOWN_CHOICE_TYPE'\n | 'CHOICE_TEXT'\n | 'ONE_COLOR';\n\nexport interface MultipleColors {\n /**\n * List of color codes.\n * @minLength 3\n * @maxLength 20\n * @minSize 2\n * @maxSize 2\n */\n colorCodes?: string[];\n}\n\nexport interface ConnectedModifier\n extends ConnectedModifierModifierSettingsOneOf {\n /** Free text modifier settings. */\n freeTextSettings?: FreeTextSettings;\n /** Choice settings. */\n choicesSettings?: ModifierChoicesSettings;\n /**\n * ID of a customization with `customizationType: MODIFIER`.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Modifier title.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /** Modifier render type. */\n modifierRenderType?: ModifierRenderTypeWithLiterals;\n /** Whether customer input is required for this modifier. */\n mandatory?: boolean;\n}\n\n/** @oneof */\nexport interface ConnectedModifierModifierSettingsOneOf {\n /** Free text modifier settings. */\n freeTextSettings?: FreeTextSettings;\n /** Choice settings. */\n choicesSettings?: ModifierChoicesSettings;\n}\n\nexport enum ModifierRenderType {\n /** Not implemented. */\n UNKNOWN_MODIFIER_RENDER_TYPE = 'UNKNOWN_MODIFIER_RENDER_TYPE',\n /** Free text. */\n FREE_TEXT = 'FREE_TEXT',\n /** Text choices. */\n TEXT_CHOICES = 'TEXT_CHOICES',\n /** Swatch choices. */\n SWATCH_CHOICES = 'SWATCH_CHOICES',\n}\n\n/** @enumType */\nexport type ModifierRenderTypeWithLiterals =\n | ModifierRenderType\n | 'UNKNOWN_MODIFIER_RENDER_TYPE'\n | 'FREE_TEXT'\n | 'TEXT_CHOICES'\n | 'SWATCH_CHOICES';\n\nexport interface FreeTextSettings {\n /** Minimum number of characters. */\n minCharCount?: number;\n /**\n * Maximum number of characters.\n * @max 500\n */\n maxCharCount?: number;\n /**\n * Default amount to be added to the product's price.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n defaultAddedPrice?: string | null;\n /**\n * Title of the text to be input by the customer.\n * @minLength 1\n * @maxLength 150\n */\n title?: string;\n}\n\nexport interface ModifierChoicesSettings {\n /**\n * List of modifier choices.\n * @minSize 1\n * @maxSize 100\n * @immutable\n */\n choices?: ConnectedModifierChoice[];\n}\n\nexport interface ConnectedModifierChoice\n extends ConnectedModifierChoiceValueOneOf {\n /**\n * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n /**\n * Choice ID.\n * @format GUID\n */\n choiceId?: string | null;\n /**\n * Product media.\n * @maxSize 15\n */\n linkedMedia?: ProductMedia[];\n /** Choice type. */\n choiceType?: ChoiceTypeWithLiterals;\n /**\n * Modifier key. Used for eCommerce integration.\n * @readonly\n * @minLength 1\n * @maxLength 50\n */\n key?: string;\n /**\n * Choice name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string | null;\n /**\n * Added price.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n addedPrice?: string | null;\n}\n\n/** @oneof */\nexport interface ConnectedModifierChoiceValueOneOf {\n /**\n * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).\n * @minLength 3\n * @maxLength 20\n */\n colorCode?: string;\n}\n\nexport interface Brand {\n /**\n * Brand ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Brand name.\n * @maxLength 50\n */\n name?: string | null;\n}\n\nexport interface InfoSection {\n /**\n * Info section ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Info section unique name.\n * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n * @maxLength 100\n */\n uniqueName?: string | null;\n /**\n * Info section title.\n * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n * @minLength 1\n * @maxLength 50\n * @readonly\n */\n title?: string | null;\n /**\n * Info section description using rich content.\n * > **Note:** Returned only when you pass `\"INFO_SECTION_DESCRIPTION\"` to the `fields` array in Products API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n * @readonly\n */\n description?: RichContent;\n /**\n * Info section description in HTML.\n *\n * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n * `plainDescription` is ignored when value is also passed to the `description` field.\n * > **Note:** Returned only when you pass `\"INFO_SECTION_PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n * @maxLength 16000\n */\n plainDescription?: string | null;\n}\n\nexport interface Ribbon {\n /**\n * Ribbon ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string | null;\n /**\n * Ribbon name.\n * @maxLength 30\n */\n name?: string | null;\n}\n\nexport enum ProductType {\n /** Not implemented. */\n UNKNOWN_PRODUCT_TYPE = 'UNKNOWN_PRODUCT_TYPE',\n /** Physical product. */\n PHYSICAL = 'PHYSICAL',\n /** Digital product. */\n DIGITAL = 'DIGITAL',\n}\n\n/** @enumType */\nexport type ProductTypeWithLiterals =\n | ProductType\n | 'UNKNOWN_PRODUCT_TYPE'\n | 'PHYSICAL'\n | 'DIGITAL';\n\nexport interface PhysicalProperties {\n /**\n * Price per unit settings.\n * > **Note:** Use this field only when relevant. For example, for products that are sold by weight, volume, or length.\n */\n pricePerUnit?: PricePerUnitSettings;\n /**\n * Fulfiller ID.\n * @format GUID\n */\n fulfillerId?: string | null;\n /**\n * Product shipping weight range - Calculated from the lightest and heaviest variant shipping weights.\n * @readonly\n */\n shippingWeightRange?: WeightRange;\n /**\n * Product price per unit range. The minimum and maximum price per unit of all the variants.\n * @readonly\n */\n pricePerUnitRange?: PricePerUnitRange;\n /**\n * Weight measurement unit.\n * > **Note:** Returned only when you pass `\"WEIGHT_MEASUREMENT_UNIT_INFO\"` to the `fields` array in Products API requests.\n * @readonly\n */\n weightMeasurementUnitInfo?: WeightMeasurementUnitInfo;\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\nexport interface PricePerUnitSettings {\n /**\n * Quantity.\n * For example, to define price per per 100 grams, set this field to `100`.\n * @min 0.01\n * @max 999999999.99\n */\n quantity?: number;\n /**\n * Measurement unit.\n * For example, to define price per 100 grams, set this field to \"G\".\n */\n measurementUnit?: MeasurementUnitWithLiterals;\n}\n\nexport enum MeasurementUnit {\n UNSPECIFIED = 'UNSPECIFIED',\n ML = 'ML',\n CL = 'CL',\n L = 'L',\n CBM = 'CBM',\n MG = 'MG',\n G = 'G',\n KG = 'KG',\n MM = 'MM',\n CM = 'CM',\n M = 'M',\n SQM = 'SQM',\n OZ = 'OZ',\n LB = 'LB',\n FLOZ = 'FLOZ',\n PT = 'PT',\n QT = 'QT',\n GAL = 'GAL',\n IN = 'IN',\n FT = 'FT',\n YD = 'YD',\n SQFT = 'SQFT',\n}\n\n/** @enumType */\nexport type MeasurementUnitWithLiterals =\n | MeasurementUnit\n | 'UNSPECIFIED'\n | 'ML'\n | 'CL'\n | 'L'\n | 'CBM'\n | 'MG'\n | 'G'\n | 'KG'\n | 'MM'\n | 'CM'\n | 'M'\n | 'SQM'\n | 'OZ'\n | 'LB'\n | 'FLOZ'\n | 'PT'\n | 'QT'\n | 'GAL'\n | 'IN'\n | 'FT'\n | 'YD'\n | 'SQFT';\n\nexport interface WeightRange {\n /**\n * Minimum weight across all variants associated with this product.\n * @max 999999999.99\n */\n minValue?: number;\n /**\n * Maximum weight across all variants associated with this product.\n * @max 999999999.99\n */\n maxValue?: number;\n}\n\nexport interface PricePerUnitRange {\n /** Minimum price per unit across all variants. */\n minValue?: PricePerUnitRangePricePerUnit;\n /** Maximum price per unit across all variants. */\n maxValue?: PricePerUnitRangePricePerUnit;\n}\n\nexport interface PricePerUnitRangePricePerUnit {\n /**\n * Calculated value of price per unit. Takes into account pricePerUnit settings of product and variants and price of variants.\n * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n * @readonly\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n value?: string;\n /**\n * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg.\n * > **Note:** This field is returned by the API only when you pass `fields: \"CURRENCY\"` in a request.\n * @readonly\n * @maxLength 100\n */\n description?: string | null;\n}\n\nexport interface WeightMeasurementUnitInfo {\n /**\n * Weight measurement unit.\n * @readonly\n */\n weightMeasurementUnit?: WeightUnitWithLiterals;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface VariantsInfo {\n /**\n * List of related variants.\n * Partial update of variants is not supported so on update you must pass all data for all of them.\n * If you want to update existing variant you must provide `id`, otherwise new variant with different id will be created which might break some integrations that rely on variant ids.\n * @minSize 1\n * @maxSize 1000\n */\n variants?: VariantWithInventory[];\n}\n\nexport interface VariantWithInventory\n extends VariantWithInventoryTypedPropertiesOneOf {\n /** Physical properties. Must be passed when `productType: PHYSICAL` */\n physicalProperties?: VariantPhysicalProperties;\n /** Digital properties. Must be passed when `productType: DIGITAL` */\n digitalProperties?: VariantDigitalProperties;\n /**\n * Variant ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Whether the variant is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Variant SKU (stock keeping unit).\n * @minLength 1\n * @maxLength 40\n */\n sku?: string | null;\n /**\n * Variant barcode.\n * @minLength 1\n * @maxLength 40\n */\n barcode?: string | null;\n /** Variant price. */\n price?: PriceInfo;\n /**\n * Variant revenue details.\n *\n * > **Note:** Returned only when the following conditions are met:\n * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n */\n revenueDetails?: RevenueDetails;\n /** Inventory item of the variant on the default location. */\n inventoryItem?: InventoryItemComposite;\n /**\n * List of choices.\n * @maxSize 6\n * @immutable\n */\n choices?: OptionChoiceReferences[];\n}\n\n/** @oneof */\nexport interface VariantWithInventoryTypedPropertiesOneOf {\n /** Physical properties. Must be passed when `productType: PHYSICAL` */\n physicalProperties?: VariantPhysicalProperties;\n /** Digital properties. Must be passed when `productType: DIGITAL` */\n digitalProperties?: VariantDigitalProperties;\n}\n\nexport interface PriceInfo {\n /** Variant's current selling price. Must be greater than or equal to 0. */\n actualPrice?: FixedMonetaryAmount;\n /** Original price before any discount, shown with a strikethrough in the UI of Wix sites. Only set this if a discount applies. When set, it should be higher than `actualPrice` to reflect savings. */\n compareAtPrice?: FixedMonetaryAmount;\n}\n\nexport interface FixedMonetaryAmount {\n /**\n * Monetary amount. For example, `\"3.99\"`, or `\"-4.99\"` for a negative amount.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n amount?: string;\n /**\n * Formatted monetary amount. For example, `\"$3.99\"`.\n * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n * @readonly\n * @maxLength 20\n */\n formattedAmount?: string | null;\n}\n\nexport interface RevenueDetails {\n /** Item cost. */\n cost?: FixedMonetaryAmount;\n /**\n * Profit. Calculated by reducing `cost` from `discountedPrice`.\n * @readonly\n */\n profit?: FixedMonetaryAmount;\n /**\n * Profit Margin. Calculated by dividing `profit` by `discountedPrice`.\n * The result is rounded to 4 decimal places.\n * @readonly\n * @max 1\n */\n profitMargin?: number;\n}\n\nexport interface VariantPhysicalProperties {\n /**\n * Variant shipping weight.\n * product.physicalProperties.shipping_weight_range values are taken from here.\n * @max 999999999.99\n */\n weight?: number | null;\n /**\n * Price per unit info, in order to show price per unit on the product page.\n * For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.\n * But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.\n */\n pricePerUnit?: PricePerUnit;\n}\n\nexport interface PricePerUnit {\n /**\n * Price per unit data for this variant.\n * `measurementUnit` value must correspond to the measurement unit set on the product.\n */\n settings?: PricePerUnitSettings;\n /**\n * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, of this variant, and discounted price of variant.\n * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n * @readonly\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n value?: string;\n /**\n * Price per unit description.\n * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n * @readonly\n * @maxLength 100\n */\n description?: string | null;\n}\n\nexport interface VariantDigitalProperties {\n /**\n * Digital file which will be downloaded by the buyer after successful purchase.\n * Each variant can have a different digital file, allowing you to offer different content per variant.\n */\n digitalFile?: SecuredMedia;\n}\n\nexport interface SecuredMedia {\n /**\n * Media ID in media manager.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * Original file name.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n */\n fileName?: string;\n /**\n * Original file size.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n * @format DECIMAL_VALUE\n * @decimalValue options { maxScale:0 }\n */\n fileSize?: string | null;\n /**\n * File type.\n * @readonly\n */\n fileType?: FileTypeWithLiterals;\n}\n\nexport enum FileType {\n /** Unspecified file type. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** Secure picture file. */\n SECURE_PICTURE = 'SECURE_PICTURE',\n /** Secure video file. */\n SECURE_VIDEO = 'SECURE_VIDEO',\n /** Secure document file. */\n SECURE_DOCUMENT = 'SECURE_DOCUMENT',\n /** Secure music file. */\n SECURE_MUSIC = 'SECURE_MUSIC',\n /** Secure archive file. */\n SECURE_ARCHIVE = 'SECURE_ARCHIVE',\n}\n\n/** @enumType */\nexport type FileTypeWithLiterals =\n | FileType\n | 'UNSPECIFIED'\n | 'SECURE_PICTURE'\n | 'SECURE_VIDEO'\n | 'SECURE_DOCUMENT'\n | 'SECURE_MUSIC'\n | 'SECURE_ARCHIVE';\n\nexport interface InventoryItemComposite\n extends InventoryItemCompositeTrackingMethodOneOf {\n /**\n * Tracking method - in stock.\n *\n * When set to `true`, the item is available for sale without a quantity limit.\n */\n inStock?: boolean;\n /**\n * Tracking method - quantity left in inventory.\n *\n * Quantity can be negative when decrementing inventory for an order that has already been paid.\n * @min -99999\n * @max 99999\n */\n quantity?: number;\n /**\n * Inventory item ID.\n * If you want to update existing inventory item you must provide id,\n * otherwise new inventory item with different id will be created.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Inventory item revision.\n * @readonly\n */\n revision?: string | null;\n /** Item preorder info. */\n preorderInfo?: PreorderInfo;\n}\n\n/** @oneof */\nexport interface InventoryItemCompositeTrackingMethodOneOf {\n /**\n * Tracking method - in stock.\n *\n * When set to `true`, the item is available for sale without a quantity limit.\n */\n inStock?: boolean;\n /**\n * Tracking method - quantity left in inventory.\n *\n * Quantity can be negative when decrementing inventory for an order that has already been paid.\n * @min -99999\n * @max 99999\n */\n quantity?: number;\n}\n\nexport interface PreorderInfo {\n /**\n * Whether preorder is enabled for the product.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n /**\n * A message the customer 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 * Supported only for inventory items with `trackQuantity = true`.\n *\n * Default: `100000`\n * @max 100000\n */\n limit?: number | null;\n /**\n * Number of times the product was preordered.\n *\n * Supported only for inventory items with `trackQuantity = true`.\n * @readonly\n * @max 99999\n */\n counter?: number | null;\n /**\n * Quantity of products that can be preordered.\n *\n * Supported only for inventory items with `trackQuantity = true`.\n * @readonly\n */\n quantity?: number | null;\n}\n\nexport interface OptionChoiceReferences {\n /** Option and choice IDs. */\n optionChoiceIds?: OptionChoiceIds;\n /** Option and choice names. */\n optionChoiceNames?: OptionChoiceNames;\n}\n\nexport interface OptionChoiceIds {\n /**\n * Option ID.\n * @minLength 1\n * @maxLength 36\n * @immutable\n */\n optionId?: string;\n /**\n * Choice ID.\n * @format GUID\n * @immutable\n */\n choiceId?: string;\n}\n\nexport interface OptionChoiceNames {\n /**\n * Option name.\n * @minLength 1\n */\n optionName?: string;\n /**\n * Choice name.\n * @minLength 1\n */\n choiceName?: string;\n /** Render type. */\n renderType?: ProductOptionRenderTypeWithLiterals;\n}\n\nexport interface SubscriptionDetails {\n /**\n * Subscriptions.\n * @minSize 1\n * @maxSize 6\n */\n subscriptions?: Subscription[];\n /**\n * Whether to allow one-time purchases in addition to subscription-based purchases.\n *\n * Default: `false`\n */\n allowOneTimePurchases?: boolean | null;\n /**\n * Whether to add a 'Cancel subscription' button to the My Subscriptions tab of the [Members Area page](https://support.wix.com/en/article/site-members-about-the-members-area).\n *\n * Default: `false`\n * @internal\n */\n enableCustomerCancellation?: boolean | null;\n}\n\nexport interface Subscription extends SubscriptionCyclesOneOf {\n /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends.\n * @min 2\n * @max 999\n */\n billingCycles?: number;\n /**\n * Subscription ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Subscription title.\n * @minLength 1\n * @maxLength 20\n */\n title?: string;\n /**\n * Subscription description.\n * @maxLength 60\n */\n description?: string | null;\n /**\n * Whether the subscription is visible to site visitors.\n *\n * Default: `true`\n */\n visible?: boolean | null;\n /**\n * Frequency of recurring payment.\n * For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Interval of recurring payment. Default: `1`. For example, if `frequency: MONTH`, `billingCycles: 3` and `interval: 2`; payment will be made every 2 months for a total of 6 months.\n * @min 1\n * @max 50\n */\n interval?: number | null;\n /**\n * Discount info (optional).\n * For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.\n */\n discount?: SubscriptionDiscount;\n}\n\n/** @oneof */\nexport interface SubscriptionCyclesOneOf {\n /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends.\n * @min 2\n * @max 999\n */\n billingCycles?: number;\n}\n\n/** Frequency unit of recurring payment */\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface SubscriptionDiscount\n extends SubscriptionDiscountDiscountOneOf {\n /**\n * Amount to discount from the variant discounted_price.\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n amountOff?: string;\n /**\n * Percentage to discount from variant discounted_price.\n * @min 0.1\n * @max 99.9\n */\n percentOff?: number;\n /** Discount type. */\n type?: DiscountTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SubscriptionDiscountDiscountOneOf {\n /**\n * Amount to discount from the variant discounted_price.\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n amountOff?: string;\n /**\n * Percentage to discount from variant discounted_price.\n * @min 0.1\n * @max 99.9\n */\n percentOff?: number;\n}\n\nexport enum DiscountType {\n UNKNOWN_DISCOUNT = 'UNKNOWN_DISCOUNT',\n /** Discount by a specific amount. */\n AMOUNT = 'AMOUNT',\n /** Discount by a percentage. */\n PERCENT = 'PERCENT',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'UNKNOWN_DISCOUNT'\n | 'AMOUNT'\n | 'PERCENT';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ProductCategoryIdsInfo {\n /**\n * List of category IDs to set for the product\n * @maxSize 1000\n * @format GUID\n */\n categoryIds?: string[];\n}\n\nexport interface AddProductsToImportResponse {\n /**\n * Action results.\n * @minSize 1\n * @maxSize 100\n */\n results?: AddProductResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface AddProductResult {\n /** Item metadata. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ItemMetadata {\n /**\n * The product `handle` as passed in the `AddProductsToImport` request.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface SubmitCatalogImportRequest {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId: string;\n}\n\nexport interface SubmitCatalogImportResponse {\n /**\n * Job ID for async operation tracking. Pass to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) or [List Async Job Items](https://dev.wix.com/docs/api-reference/business-management/async-job/list-async-job-items) to retrieve details and metadata\n * @format GUID\n */\n jobId?: string;\n /** Total number of items that will be processed in this import */\n totalProductsCount?: number;\n}\n\nexport interface CatalogImportAlreadySubmittedErrorData {\n /**\n * Catalog Import ID.\n * @format GUID\n */\n catalogImportId?: string;\n /**\n * Async Job ID.\n * @format GUID\n */\n asyncJobId?: string;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\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/** @docsIgnore */\nexport type SubmitCatalogImportApplicationErrors = {\n code?: 'CATALOG_IMPORT_ALREADY_SUBMITTED';\n description?: string;\n data?: CatalogImportAlreadySubmittedErrorData;\n};\n\n/**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n * @param catalogImport - CatalogImport to be created.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImport\n * @permissionId stores:catalog:v3:catalog_import:create_catalog_import\n * @applicableIdentity APP\n * @returns Created CatalogImport.\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.CreateCatalogImport\n */\nexport async function createCatalogImport(\n catalogImport: CatalogImport\n): Promise<CatalogImport> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n catalogImport: catalogImport,\n });\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.createCatalogImport(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.catalogImport!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { catalogImport: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImport']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n * @param catalogImportId - Catalog Import ID.\n * @param products - List of product items to add to the import session.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImportId\n * @requiredField products\n * @requiredField products.product\n * @requiredField products.product.handle\n * @permissionId stores:catalog:v3:catalog_import:add_products_to_import\n * @applicableIdentity APP\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.AddProductsToImport\n */\nexport async function addProductsToImport(\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n): Promise<\n NonNullablePaths<\n AddProductsToImportResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n catalogImportId: catalogImportId,\n products: products,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'products.product.media.main.image' },\n { path: 'products.product.media.itemsInfo.items.image' },\n { path: 'products.product.options.choicesSettings.choices.image' },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.image',\n },\n { path: 'products.product.modifiers.choicesSettings.choices.image' },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.image',\n },\n ],\n },\n {\n transformFn: transformSDKVideoV2ToRESTVideoV2,\n paths: [\n { path: 'products.product.media.main.video' },\n { path: 'products.product.media.itemsInfo.items.video' },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video',\n },\n ],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.addProductsToImport(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: { catalogImportId: '$[0]', products: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImportId', 'products']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n * @param catalogImportId - Catalog Import ID.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogImportId\n * @permissionId stores:catalog:v3:catalog_import:submit_catalog_import\n * @applicableIdentity APP\n * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.SubmitCatalogImport\n */\nexport async function submitCatalogImport(catalogImportId: string): Promise<\n NonNullablePaths<\n SubmitCatalogImportResponse,\n `jobId` | `totalProductsCount`,\n 2\n > & {\n __applicationErrorsType?: SubmitCatalogImportApplicationErrors;\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 catalogImportId: catalogImportId,\n });\n\n const reqOpts =\n ambassadorWixStoresCatalogV3CatalogImport.submitCatalogImport(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: { catalogImportId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['catalogImportId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\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 resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/stores/v3/catalog-imports',\n destPath: '/v3/catalog-imports',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_stores_catalog-imports-v-3';\n\n/**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n */\nexport function createCatalogImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __createCatalogImport({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'catalogImport.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.CreateCatalogImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'catalogImport.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCatalogImport;\n}\n\n/**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n */\nexport function addProductsToImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __addProductsToImport({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'products.fieldMask' }],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'products.product.physicalProperties.pricePerUnit.quantity' },\n {\n path: 'products.product.physicalProperties.shippingWeightRange.minValue',\n },\n {\n path: 'products.product.physicalProperties.shippingWeightRange.maxValue',\n },\n {\n path: 'products.product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.quantity',\n },\n {\n path: 'products.product.variantsInfo.variants.revenueDetails.profitMargin',\n },\n {\n path: 'products.product.subscriptionDetails.subscriptions.discount.percentOff',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'products.product.description.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'products.product.description.nodes.imageData.image.duration',\n },\n {\n path: 'products.product.description.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'products.product.description.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'products.product.description.nodes.pollData.poll.image.duration',\n },\n {\n path: 'products.product.description.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'products.product.description.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'products.product.description.nodes.appEmbedData.image.duration',\n },\n {\n path: 'products.product.description.nodes.videoData.video.duration',\n },\n {\n path: 'products.product.description.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'products.product.description.nodes.audioData.audio.duration',\n },\n {\n path: 'products.product.description.nodes.audioData.coverImage.duration',\n },\n {\n path: 'products.product.description.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'products.product.description.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'products.product.infoSections.description.nodes.imageData.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'products.product.infoSections.description.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.poll.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.appEmbedData.image.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.videoData.video.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.audioData.audio.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.audioData.coverImage.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'products.product.infoSections.description.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'products.product.variantsInfo.variants.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'products.product.description.metadata.createdTimestamp' },\n { path: 'products.product.description.metadata.updatedTimestamp' },\n { path: 'products.product.media.main.image.urlExpirationDate' },\n { path: 'products.product.media.main.video.urlExpirationDate' },\n {\n path: 'products.product.media.main.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.media.main.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.media.main.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.image.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.media.itemsInfo.items.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.image.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.image.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.options.choicesSettings.choices.linkedMedia.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.image.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.image.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.resolutions.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'products.product.modifiers.choicesSettings.choices.linkedMedia.video.posters.urlExpirationDate',\n },\n {\n path: 'products.product.infoSections.description.metadata.createdTimestamp',\n },\n {\n path: 'products.product.infoSections.description.metadata.updatedTimestamp',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.AddProductsToImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports/{catalogImportId}/add-products',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __addProductsToImport;\n}\n\n/**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n */\nexport function submitCatalogImport(\n payload: object\n): RequestOptionsFactory<any> {\n function __submitCatalogImport({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.stores.catalog.v3.catalog_import',\n method: 'POST' as any,\n methodFqn:\n 'wix.stores.catalog.catalog_import.v3.CatalogImports.SubmitCatalogImport',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixStoresCatalogCatalogImportV3CatalogImportsUrl({\n protoPath: '/v3/catalog-imports/{catalogImportId}/submit',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __submitCatalogImport;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n AddProductsToImportResponse,\n CatalogImport,\n ProductItem,\n SubmitCatalogImportApplicationErrors,\n SubmitCatalogImportResponse,\n addProductsToImport as universalAddProductsToImport,\n createCatalogImport as universalCreateCatalogImport,\n submitCatalogImport as universalSubmitCatalogImport,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/stores' };\n\nexport function createCatalogImport(\n httpClient: HttpClient\n): CreateCatalogImportSignature {\n return (catalogImport: CatalogImport) =>\n universalCreateCatalogImport(\n catalogImport,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCatalogImportSignature {\n /**\n * Creates a CatalogImport for upsert product operations.\n *\n * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.\n * @param - CatalogImport to be created.\n * @returns Created CatalogImport.\n */\n (catalogImport: CatalogImport): Promise<CatalogImport>;\n}\n\nexport function addProductsToImport(\n httpClient: HttpClient\n): AddProductsToImportSignature {\n return (\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n ) =>\n universalAddProductsToImport(\n catalogImportId,\n products,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddProductsToImportSignature {\n /**\n * Add products in bulk to an existing catalog import session.\n *\n * Products are stored in temporary storage until SubmitCatalogImport is called.\n * Can be called multiple times for the same import session.\n *\n * > **Notes:**\n * > + Products are upserted based on the `handle` field\n * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`\n * > + Pass `category_ids` to update categories assignments, overwrites existing assignments\n * @param - Catalog Import ID.\n * @param - List of product items to add to the import session.\n */\n (\n catalogImportId: string,\n products: NonNullablePaths<ProductItem, `product` | `product.handle`, 3>[]\n ): Promise<\n NonNullablePaths<\n AddProductsToImportResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function submitCatalogImport(\n httpClient: HttpClient\n): SubmitCatalogImportSignature {\n return (catalogImportId: string) =>\n universalSubmitCatalogImport(\n catalogImportId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SubmitCatalogImportSignature {\n /**\n * Submits all products in the catalog import for processing.\n * Once called, no more items can be added to this import session.\n * @param - Catalog Import ID.\n */\n (catalogImportId: string): Promise<\n NonNullablePaths<\n SubmitCatalogImportResponse,\n `jobId` | `totalProductsCount`,\n 2\n > & {\n __applicationErrorsType?: SubmitCatalogImportApplicationErrors;\n }\n >;\n}\n\nexport {\n ActionEvent,\n AddProductResult,\n AddProductsToImportRequest,\n AddProductsToImportResponse,\n Alignment,\n AnchorData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundImage,\n BackgroundType,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n Brand,\n BulkActionMetadata,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n CatalogImport,\n CatalogImportAlreadySubmittedErrorData,\n CellStyle,\n ChoiceType,\n ChoicesSettings,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ConnectedModifier,\n ConnectedModifierChoice,\n ConnectedModifierChoiceValueOneOf,\n ConnectedModifierModifierSettingsOneOf,\n ConnectedOption,\n ConnectedOptionChoice,\n ConnectedOptionChoiceValueOneOf,\n ConnectedOptionOptionSettingsOneOf,\n CreateCatalogImportRequest,\n CreateCatalogImportResponse,\n Crop,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DiscountType,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmbedData,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventData,\n ExtendedFields,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FileType,\n FixedMonetaryAmount,\n FontFamilyData,\n FontSizeData,\n FontType,\n FreeTextSettings,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n Gradient,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImagePosition,\n ImageStyles,\n InfoSection,\n InitialExpandedItems,\n InventoryItemComposite,\n InventoryItemCompositeTrackingMethodOneOf,\n Item,\n ItemDataOneOf,\n ItemMetadata,\n ItemStyle,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListValue,\n MapData,\n MapSettings,\n MapType,\n MeasurementUnit,\n Media,\n MediaItemsInfo,\n MediaType,\n MentionData,\n MessageEnvelope,\n Metadata,\n ModifierChoicesSettings,\n ModifierRenderType,\n MultipleColors,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n Oembed,\n Option,\n OptionChoiceIds,\n OptionChoiceNames,\n OptionChoiceReferences,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n PDFSettings,\n ParagraphData,\n Permissions,\n PhysicalProperties,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PreorderInfo,\n PriceInfo,\n PricePerUnit,\n PricePerUnitRange,\n PricePerUnitRangePricePerUnit,\n PricePerUnitSettings,\n PricingData,\n ProductCategoryIdsInfo,\n ProductItem,\n ProductMedia,\n ProductMediaMediaOneOf,\n ProductMediaSetByOneOf,\n ProductOptionRenderType,\n ProductType,\n ProductWithInventory,\n ProductWithInventoryTypedPropertiesOneOf,\n Rel,\n Resizing,\n ResponsivenessBehaviour,\n RestoreInfo,\n RevenueDetails,\n Ribbon,\n RibbonStyles,\n RichContent,\n Scaling,\n SecuredMedia,\n SeoSchema,\n Settings,\n Source,\n Spoiler,\n SpoilerData,\n Styles,\n StylesBorder,\n StylesPosition,\n SubmitCatalogImportRequest,\n SubmitCatalogImportResponse,\n Subscription,\n SubscriptionCyclesOneOf,\n SubscriptionDetails,\n SubscriptionDiscount,\n SubscriptionDiscountDiscountOneOf,\n SubscriptionFrequency,\n TableCellData,\n TableData,\n Tag,\n Target,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnail,\n Thumbnails,\n ThumbnailsAlignment,\n Type,\n V1Media,\n VariantDigitalProperties,\n VariantPhysicalProperties,\n VariantWithInventory,\n VariantWithInventoryTypedPropertiesOneOf,\n VariantsInfo,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n VideoResolution,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n WeightMeasurementUnitInfo,\n WeightRange,\n WeightUnit,\n Width,\n WidthType,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n","import {\n createCatalogImport as publicCreateCatalogImport,\n addProductsToImport as publicAddProductsToImport,\n submitCatalogImport as publicSubmitCatalogImport,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createCatalogImport: MaybeContext<\n BuildRESTFunction<typeof publicCreateCatalogImport> &\n typeof publicCreateCatalogImport\n> = /*#__PURE__*/ createRESTModule(publicCreateCatalogImport);\nexport const addProductsToImport: MaybeContext<\n BuildRESTFunction<typeof publicAddProductsToImport> &\n typeof publicAddProductsToImport\n> = /*#__PURE__*/ createRESTModule(publicAddProductsToImport);\nexport const submitCatalogImport: MaybeContext<\n BuildRESTFunction<typeof publicSubmitCatalogImport> &\n typeof publicSubmitCatalogImport\n> = /*#__PURE__*/ createRESTModule(publicSubmitCatalogImport);\n\nexport {\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n Scaling,\n ImagePosition,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n MediaType,\n ProductOptionRenderType,\n ChoiceType,\n ModifierRenderType,\n ProductType,\n MeasurementUnit,\n WeightUnit,\n FileType,\n SubscriptionFrequency,\n DiscountType,\n WebhookIdentityType,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\nexport {\n CatalogImport,\n CreateCatalogImportRequest,\n CreateCatalogImportResponse,\n AddProductsToImportRequest,\n ProductItem,\n ProductWithInventory,\n ProductWithInventoryTypedPropertiesOneOf,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n V1Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n BackgroundImage,\n LayoutCellData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n Media,\n ProductMedia,\n ProductMediaSetByOneOf,\n ProductMediaMediaOneOf,\n VideoResolution,\n Thumbnail,\n MediaItemsInfo,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n ConnectedOption,\n ConnectedOptionOptionSettingsOneOf,\n ChoicesSettings,\n ConnectedOptionChoice,\n ConnectedOptionChoiceValueOneOf,\n MultipleColors,\n ConnectedModifier,\n ConnectedModifierModifierSettingsOneOf,\n FreeTextSettings,\n ModifierChoicesSettings,\n ConnectedModifierChoice,\n ConnectedModifierChoiceValueOneOf,\n Brand,\n InfoSection,\n Ribbon,\n PhysicalProperties,\n PricePerUnitSettings,\n WeightRange,\n PricePerUnitRange,\n PricePerUnitRangePricePerUnit,\n WeightMeasurementUnitInfo,\n VariantsInfo,\n VariantWithInventory,\n VariantWithInventoryTypedPropertiesOneOf,\n PriceInfo,\n FixedMonetaryAmount,\n RevenueDetails,\n VariantPhysicalProperties,\n PricePerUnit,\n VariantDigitalProperties,\n SecuredMedia,\n InventoryItemComposite,\n InventoryItemCompositeTrackingMethodOneOf,\n PreorderInfo,\n OptionChoiceReferences,\n OptionChoiceIds,\n OptionChoiceNames,\n SubscriptionDetails,\n Subscription,\n SubscriptionCyclesOneOf,\n SubscriptionDiscount,\n SubscriptionDiscountDiscountOneOf,\n ExtendedFields,\n ProductCategoryIdsInfo,\n AddProductsToImportResponse,\n AddProductResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n SubmitCatalogImportRequest,\n SubmitCatalogImportResponse,\n CatalogImportAlreadySubmittedErrorData,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\nexport {\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ScalingWithLiterals,\n ImagePositionWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n MediaTypeWithLiterals,\n ProductOptionRenderTypeWithLiterals,\n ChoiceTypeWithLiterals,\n ModifierRenderTypeWithLiterals,\n ProductTypeWithLiterals,\n MeasurementUnitWithLiterals,\n WeightUnitWithLiterals,\n FileTypeWithLiterals,\n SubscriptionFrequencyWithLiterals,\n DiscountTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n SubmitCatalogImportApplicationErrors,\n} from './stores-catalog-v3-catalog-import-catalog-imports-v-3.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAAA;AAAA,EAAA,2BAAAC;AAAA,EAAA,2BAAAC;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,mBAA6C;AAC7C,uBAAqD;AACrD,IAAAC,oBAAqD;AACrD,wBAAqD;AACrD,6BAA+B;AAC/B,0BAA2B;AAI3B,SAAS,wDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,gCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAOd,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,4BAA4B,CAAC;AAAA,MAC/C;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,wDAAwD;AAAA,QAC3D,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,4BAA4B,CAAC;AAAA,QAC/C;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAaO,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,4DAA4D;AAAA,UACpE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,sDAAsD;AAAA,UAC9D,EAAE,MAAM,sDAAsD;AAAA,UAC9D;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,wDAAwD;AAAA,QAC3D,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,wDAAwD;AAAA,QAC3D,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADlVA,mBAA6C;AAC7C,sBAAiD;AACjD,IAAAC,0BAA+B;AA0WxB,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,mBAAgB;AAChB,EAAAA,UAAA,kBAAe;AACf,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,sBAAmB;AACnB,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,sBAAmB;AACnB,EAAAA,UAAA,4BAAyB;AACzB,EAAAA,UAAA,2BAAwB;AACxB,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,cAAW;AACX,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,iBAAc;AAlCJ,SAAAA;AAAA,GAAA;AA4IL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,gBAAa;AARH,SAAAA;AAAA,GAAA;AA+CL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,8BAAA,YAAS;AAET,EAAAA,8BAAA,UAAO;AAEP,EAAAA,8BAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AA8BL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;AA2FL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,UAAO;AAEP,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,SAAM;AARI,SAAAA;AAAA,GAAA;AAqCL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,aAAU;AAVA,SAAAA;AAAA,GAAA;AAiCL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AAmBL,IAAK,QAAL,kBAAKC,WAAL;AAEL,EAAAA,OAAA,WAAQ;AAER,EAAAA,OAAA,YAAS;AAET,EAAAA,OAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AAYL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,YAAS;AAET,EAAAA,sBAAA,UAAO;AAEP,EAAAA,sBAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AAwCL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AAuHL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,aAAU;AAEV,EAAAA,YAAA,aAAU;AAEV,EAAAA,YAAA,UAAO;AAEP,EAAAA,YAAA,eAAY;AAEZ,EAAAA,YAAA,YAAS;AAET,EAAAA,YAAA,eAAY;AAEZ,EAAAA,YAAA,cAAW;AAEX,EAAAA,YAAA,YAAS;AAET,EAAAA,YAAA,WAAQ;AAER,EAAAA,YAAA,cAAW;AApBD,SAAAA;AAAA,GAAA;AAqCL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,UAAO;AAEP,EAAAA,aAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;AAUL,IAAK,OAAL,kBAAKC,UAAL;AAEL,EAAAA,MAAA,UAAO;AAEP,EAAAA,MAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAUL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,WAAQ;AAER,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,UAAO;AAVG,SAAAA;AAAA,GAAA;AAsFL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;AAgDL,IAAK,SAAL,kBAAKC,YAAL;AACL,EAAAA,QAAA,UAAO;AACP,EAAAA,QAAA,aAAU;AACV,EAAAA,QAAA,QAAK;AAHK,SAAAA;AAAA,GAAA;AAmEL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AAqFL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,aAAU;AAEV,EAAAA,SAAA,cAAW;AAEX,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,aAAU;AARA,SAAAA;AAAA,GAAA;AAuCL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AAYL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAqCL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAUL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AA2BL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AAwKL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,iBAAc;AAdJ,SAAAA;AAAA,GAAA;AAoEL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AAFK,SAAAA;AAAA,GAAA;AA8EL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,SAAM;AANI,SAAAA;AAAA,GAAA;AAYL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,YAAS;AAET,EAAAA,aAAA,eAAY;AAJF,SAAAA;AAAA,GAAA;AAUL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAUL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AAUL,IAAK,OAAL,kBAAKC,UAAL;AAEL,EAAAA,MAAA,eAAY;AAEZ,EAAAA,MAAA,eAAY;AAJF,SAAAA;AAAA,GAAA;AAUL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,SAAM;AANI,SAAAA;AAAA,GAAA;AAYL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AAUL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,aAAU;AACV,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,aAAU;AAHA,SAAAA;AAAA,GAAA;AAwPL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,WAAQ;AAER,EAAAA,sBAAA,SAAM;AAEN,EAAAA,sBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AAgBL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAuDL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,SAAM;AAEN,EAAAA,mBAAA,YAAS;AAET,EAAAA,mBAAA,YAAS;AANC,SAAAA;AAAA,GAAA;AAkEL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,gBAAa;AAFH,SAAAA;AAAA,GAAA;AA2GL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,UAAO;AAEP,EAAAA,SAAA,aAAU;AAEV,EAAAA,SAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AAYL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,kBAAe;AAlBL,SAAAA;AAAA,GAAA;AA6CL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,4BAAA,SAAM;AAEN,EAAAA,4BAAA,YAAS;AAET,EAAAA,4BAAA,YAAS;AANC,SAAAA;AAAA,GAAA;AAgBL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,yBAAA,WAAQ;AAER,EAAAA,yBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAaL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAkLL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,WAAA,wBAAqB;AAErB,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;AAkIL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,yBAAA,gCAA6B;AAE7B,EAAAA,yBAAA,kBAAe;AAEf,EAAAA,yBAAA,oBAAiB;AANP,SAAAA;AAAA,GAAA;AAiFL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,yBAAsB;AAEtB,EAAAA,YAAA,iBAAc;AAEd,EAAAA,YAAA,eAAY;AALF,SAAAA;AAAA,GAAA;AA0DL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,kCAA+B;AAE/B,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,kBAAe;AAEf,EAAAA,oBAAA,oBAAiB;AARP,SAAAA;AAAA,GAAA;AAwKL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AAiEL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,iBAAc;AACd,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,OAAI;AACJ,EAAAA,iBAAA,SAAM;AACN,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,OAAI;AACJ,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,OAAI;AACJ,EAAAA,iBAAA,SAAM;AACN,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,SAAM;AACN,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,QAAK;AACL,EAAAA,iBAAA,UAAO;AAtBG,SAAAA;AAAA,GAAA;AAgGL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,6BAA0B;AAE1B,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AANK,SAAAA;AAAA,GAAA;AAuML,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,oBAAiB;AAEjB,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,oBAAiB;AAZP,SAAAA;AAAA,GAAA;AA6OL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,UAAO;AALG,SAAAA;AAAA,GAAA;AAiDL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,aAAU;AALA,SAAAA;AAAA,GAAA;AA0PL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,uBAAoB;AACpB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,SAAM;AALI,SAAAA;AAAA,GAAA;AAoCZ,eAAsBC,qBACpB,eACwB;AAExB,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACsC,oBAAoB,OAAO;AAEvE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,eAAe,OAAO;AAAA,QAClD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,eAAe;AAAA,IAClB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAwBA,eAAsBC,qBACpB,iBACA,UAcA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,QACd,qEAAsC;AAAA,MACpC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD;AAAA,MACE;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,oCAAoC;AAAA,UAC5C,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,yDAAyD;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,2DAA2D;AAAA,UACnE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,oCAAoC;AAAA,UAC5C,EAAE,MAAM,+CAA+C;AAAA,UACvD;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UACsC,oBAAoB,OAAO;AAEvE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAD;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,iBAAiB,QAAQ,UAAU,OAAO;AAAA,QACtE,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,mBAAmB,UAAU;AAAA,IAChC;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAaA,eAAsBE,qBAAoB,iBAQxC;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACsC,oBAAoB,OAAO;AAEvE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAF;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,iBAAiB,OAAO;AAAA,QACpD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,iBAAiB;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;AExgIO,SAASG,qBACd,YAC8B;AAC9B,SAAO,CAAC,kBACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAaO,SAASC,qBACd,YAC8B;AAC9B,SAAO,CACL,iBACA,aAEAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmCO,SAASC,qBACd,YAC8B;AAC9B,SAAO,CAAC,oBACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;;;ACxFA,IAAAC,uBAAiC;AAG1B,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,uBAGK,2DAAiBA,oBAAyB;","names":["addProductsToImport","createCatalogImport","submitCatalogImport","import_timestamp","payload","import_transform_paths","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","Scaling","ImagePosition","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","MediaType","ProductOptionRenderType","ChoiceType","ModifierRenderType","ProductType","MeasurementUnit","WeightUnit","FileType","SubscriptionFrequency","DiscountType","WebhookIdentityType","createCatalogImport","sdkTransformError","addProductsToImport","submitCatalogImport","createCatalogImport","addProductsToImport","submitCatalogImport","import_rest_modules","createCatalogImport","addProductsToImport","submitCatalogImport"]}