@wix/auto_sdk_stores_catalog-imports-v-3 1.0.3 → 1.0.4

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,3261 @@
1
- export { ActionEvent, AddProductResult, AddProductsToImportRequest, AddProductsToImportResponse, Alignment, AlignmentWithLiterals, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, AppTypeWithLiterals, ApplicationError, AspectRatio, AspectRatioWithLiterals, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BackgroundTypeWithLiterals, BlockquoteData, BookingData, Border, BorderColors, Brand, BulkActionMetadata, BulletedListData, ButtonData, ButtonDataType, ButtonDataTypeWithLiterals, ButtonStyles, CaptionData, CardStyles, CatalogImport, CatalogImportAlreadySubmittedErrorData, CellStyle, ChoiceType, ChoiceTypeWithLiterals, ChoicesSettings, CodeBlockData, CollapsibleListData, ColorData, Colors, ConnectedModifier, ConnectedModifierChoice, ConnectedModifierChoiceValueOneOf, ConnectedModifierModifierSettingsOneOf, ConnectedOption, ConnectedOptionChoice, ConnectedOptionChoiceValueOneOf, ConnectedOptionOptionSettingsOneOf, CreateCatalogImportRequest, CreateCatalogImportResponse, Crop, CropWithLiterals, Decoration, DecorationDataOneOf, DecorationType, DecorationTypeWithLiterals, Design, Dimensions, Direction, DirectionWithLiterals, DiscountType, DiscountTypeWithLiterals, DividerData, DividerDataAlignment, DividerDataAlignmentWithLiterals, DocumentStyle, DomainEvent, DomainEventBodyOneOf, EmbedData, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventData, ExtendedFields, FileData, FileSource, FileSourceDataOneOf, FileType, FileTypeWithLiterals, FixedMonetaryAmount, FontSizeData, FontType, FontTypeWithLiterals, FreeTextSettings, GIF, GIFData, GIFType, GIFTypeWithLiterals, GalleryData, GalleryOptions, GalleryOptionsLayout, Gradient, HTMLData, HTMLDataDataOneOf, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, Image, ImageData, ImageDataStyles, ImageStyles, InfoSection, InitialExpandedItems, InitialExpandedItemsWithLiterals, InventoryItemComposite, InventoryItemCompositeTrackingMethodOneOf, Item, ItemDataOneOf, ItemMetadata, ItemStyle, Keyword, Layout, LayoutCellData, LayoutType, LayoutTypeWithLiterals, LayoutWithLiterals, LineStyle, LineStyleWithLiterals, Link, LinkData, LinkDataOneOf, LinkPreviewData, LinkPreviewDataStyles, ListValue, MapData, MapSettings, MapType, MapTypeWithLiterals, MeasurementUnit, MeasurementUnitWithLiterals, Media, MediaItemsInfo, MediaType, MediaTypeWithLiterals, MentionData, MessageEnvelope, Metadata, ModifierChoicesSettings, ModifierRenderType, ModifierRenderTypeWithLiterals, MultipleColors, Node, NodeDataOneOf, NodeStyle, NodeType, NodeTypeWithLiterals, NullValue, NullValueWithLiterals, Oembed, Option, OptionChoiceIds, OptionChoiceNames, OptionChoiceReferences, OptionDesign, OptionLayout, OrderedListData, Orientation, OrientationWithLiterals, PDFSettings, ParagraphData, Permissions, PhysicalProperties, Placement, PlacementWithLiterals, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataAlignmentWithLiterals, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutDirectionWithLiterals, PollLayoutType, PollLayoutTypeWithLiterals, PollSettings, Position, PositionWithLiterals, PreorderInfo, PriceInfo, PricePerUnit, PricePerUnitRange, PricePerUnitRangePricePerUnit, PricePerUnitSettings, PricingData, ProductCategoryIdsInfo, ProductItem, ProductMedia, ProductMediaMediaOneOf, ProductMediaSetByOneOf, ProductOptionRenderType, ProductOptionRenderTypeWithLiterals, ProductType, ProductTypeWithLiterals, ProductWithInventory, ProductWithInventoryTypedPropertiesOneOf, Rel, Resizing, ResizingWithLiterals, RestoreInfo, RevenueDetails, Ribbon, RibbonStyles, RichContent, SecuredMedia, SeoSchema, Settings, Source, SourceWithLiterals, Spoiler, SpoilerData, Styles, StylesBorder, StylesPosition, StylesPositionWithLiterals, SubmitCatalogImportApplicationErrors, SubmitCatalogImportRequest, SubmitCatalogImportResponse, Subscription, SubscriptionCyclesOneOf, SubscriptionDetails, SubscriptionDiscount, SubscriptionDiscountDiscountOneOf, SubscriptionFrequency, SubscriptionFrequencyWithLiterals, TableCellData, TableData, Tag, Target, TargetWithLiterals, TextAlignment, TextAlignmentWithLiterals, TextData, TextNodeStyle, TextStyle, Thumbnail, Thumbnails, ThumbnailsAlignment, ThumbnailsAlignmentWithLiterals, Type, TypeWithLiterals, V1Media, VariantDigitalProperties, VariantPhysicalProperties, VariantWithInventory, VariantWithInventoryTypedPropertiesOneOf, VariantsInfo, VerticalAlignment, VerticalAlignmentWithLiterals, Video, VideoData, VideoResolution, ViewMode, ViewModeWithLiterals, ViewRole, ViewRoleWithLiterals, VoteRole, VoteRoleWithLiterals, WebhookIdentityType, WebhookIdentityTypeWithLiterals, WeightMeasurementUnitInfo, WeightRange, WeightUnit, WeightUnitWithLiterals, Width, WidthType, WidthTypeWithLiterals, WidthWithLiterals } from './index.js';
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
3
+ /** Catalog Import represents an import session for product upsert operations. */
4
+ interface CatalogImport {
5
+ /**
6
+ * CatalogImport ID.
7
+ * @format GUID
8
+ * @readonly
9
+ */
10
+ _id?: string | null;
11
+ /**
12
+ * Date and time the CatalogImport was created.
13
+ * @readonly
14
+ */
15
+ _createdDate?: Date | null;
16
+ }
17
+ interface CreateCatalogImportRequest {
18
+ /** CatalogImport to be created. */
19
+ catalogImport: CatalogImport;
20
+ }
21
+ interface CreateCatalogImportResponse {
22
+ /** Created CatalogImport. */
23
+ catalogImport?: CatalogImport;
24
+ }
25
+ interface AddProductsToImportRequest {
26
+ /**
27
+ * Catalog Import ID.
28
+ * @format GUID
29
+ */
30
+ catalogImportId: string;
31
+ /**
32
+ * List of product items to add to the import session.
33
+ * @minSize 1
34
+ * @maxSize 100
35
+ */
36
+ products: ProductItem[];
37
+ }
38
+ interface ProductItem {
39
+ /** Product to upsert - handle field is required for identification */
40
+ product?: ProductWithInventory;
41
+ /**
42
+ * Categories to set for the product.
43
+ * Overrides any existing category assignments.
44
+ */
45
+ categoryIdsInfo?: ProductCategoryIdsInfo;
46
+ }
47
+ interface ProductWithInventory extends ProductWithInventoryTypedPropertiesOneOf {
48
+ /**
49
+ * Physical properties.
50
+ *
51
+ * Required when `productType: PHYSICAL`.
52
+ */
53
+ physicalProperties?: PhysicalProperties;
54
+ /**
55
+ * Product ID.
56
+ * @minLength 1
57
+ * @maxLength 36
58
+ * @immutable
59
+ * @readonly
60
+ */
61
+ _id?: string | null;
62
+ /**
63
+ * Revision number, which increments by 1 each time the product is updated.
64
+ * To prevent conflicting changes,
65
+ * the current revision must be passed when updating the product.
66
+ *
67
+ * Ignored when creating a product with inventory.
68
+ * @readonly
69
+ */
70
+ revision?: string | null;
71
+ /**
72
+ * Product name.
73
+ * @minLength 1
74
+ * @maxLength 80
75
+ */
76
+ name?: string | null;
77
+ /**
78
+ * Product slug.
79
+ *
80
+ * If not provided, the slug is autogenerated based on the product name.
81
+ * @format URL_SLUG
82
+ */
83
+ slug?: string | null;
84
+ /**
85
+ * Product description in HTML.
86
+ *
87
+ * + When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.
88
+ * + `plainDescription` is ignored when value is also passed to the `description` field.
89
+ * > **Note:** Returned only when you pass `"PLAIN_DESCRIPTION"` to the `fields` array in Products API requests.
90
+ * @maxLength 16000
91
+ */
92
+ plainDescription?: string | null;
93
+ /**
94
+ * Whether the product is visible to site visitors on the site.
95
+ *
96
+ * Default: `true`
97
+ */
98
+ visible?: boolean | null;
99
+ /**
100
+ * Whether the product is visible in POS (point of sale).
101
+ *
102
+ * Default: `true`
103
+ * > **Note:** Always `false` for `productType: DIGITAL`.
104
+ */
105
+ visibleInPos?: boolean | null;
106
+ /** Product media items. */
107
+ media?: Media;
108
+ /** Product SEO data. */
109
+ seoData?: SeoSchema;
110
+ /**
111
+ * Tax group ID.
112
+ * @format GUID
113
+ */
114
+ taxGroupId?: string | null;
115
+ /**
116
+ * Product options. Allows buyer to customize product, e.g. select Color, Size and so on.
117
+ * Always generates variants: every variant must have exactly one choice related to each option.
118
+ * Since options and variants tightly coupled and rely on each other they usually should be provided together in all operations.
119
+ * For existing options and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.
120
+ * If you don't have ids it's ok to omit them but provide all other data instead. For existing options ids will be resolved, not existing options will be created.
121
+ * *None*: you cannot change name of existing option via this endpoint but you can do it by calling CustomizationService
122
+ * @maxSize 6
123
+ */
124
+ options?: ConnectedOption[];
125
+ /**
126
+ * Product Modifiers. Allows buyer to customize product, e.g. select Color, Size and so on similarly to `options` but with one main difference - `modifiers` never generate any variants.
127
+ * For existing modifiers and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.
128
+ * If you don't have ids it's ok to omit them but provide all other data instead. For existing modifiers ids will be resolved, not existing modifiers will be created.
129
+ * *None*: you cannot change name of existing modifier via this endpoint by passing id and changed name, if you pass id name will be ignored. If you want to update existing modifier name do it by calling CustomizationService
130
+ * @maxSize 10
131
+ */
132
+ modifiers?: ConnectedModifier[];
133
+ /**
134
+ * Product brand.
135
+ *
136
+ * + Pass `brand.name` to add a new brand while creating a product.
137
+ * + Pass an existing brand's `id` to assign that brand to the product.
138
+ */
139
+ brand?: Brand;
140
+ /**
141
+ * Product info section.
142
+ *
143
+ * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.
144
+ * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.
145
+ * @maxSize 10
146
+ */
147
+ infoSections?: InfoSection[];
148
+ /**
149
+ * Product ribbon.
150
+ *
151
+ * + Pass `ribbon.name` to add a new ribbon while creating a product.
152
+ * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.
153
+ */
154
+ ribbon?: Ribbon;
155
+ /**
156
+ * Main category ID.
157
+ * @format GUID
158
+ */
159
+ mainCategoryId?: string | null;
160
+ /**
161
+ * Product type.
162
+ *
163
+ * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`.
164
+ * @immutable
165
+ */
166
+ productType?: ProductTypeWithLiterals;
167
+ /**
168
+ * A unique human-friendly identifier for the product.
169
+ * Unlike the product ID, the handle can be set by the user to ensure consistency across multiple platforms.
170
+ * In case handle wasn't given, the handle will be automatically generated.
171
+ * @minLength 1
172
+ * @maxLength 100
173
+ * @readonly
174
+ */
175
+ handle?: string | null;
176
+ /** Product variants. */
177
+ variantsInfo?: VariantsInfo;
178
+ /** Subscription details. */
179
+ subscriptionDetails?: SubscriptionDetails;
180
+ /**
181
+ * Custom extended fields for the product object.
182
+ *
183
+ * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.
184
+ */
185
+ extendedFields?: ExtendedFields;
186
+ }
187
+ /** @oneof */
188
+ interface ProductWithInventoryTypedPropertiesOneOf {
189
+ /**
190
+ * Physical properties.
191
+ *
192
+ * Required when `productType: PHYSICAL`.
193
+ */
194
+ physicalProperties?: PhysicalProperties;
195
+ }
196
+ interface RichContent {
197
+ /** Node objects representing a rich content document. */
198
+ nodes?: Node[];
199
+ /** Object metadata. */
200
+ metadata?: Metadata;
201
+ /** Global styling for header, paragraph, block quote, and code block nodes in the object. */
202
+ documentStyle?: DocumentStyle;
203
+ }
204
+ interface Node extends NodeDataOneOf {
205
+ /** Data for a button node. */
206
+ buttonData?: ButtonData;
207
+ /** Data for a code block node. */
208
+ codeBlockData?: CodeBlockData;
209
+ /** Data for a divider node. */
210
+ dividerData?: DividerData;
211
+ /** Data for a file node. */
212
+ fileData?: FileData;
213
+ /** Data for a gallery node. */
214
+ galleryData?: GalleryData;
215
+ /** Data for a GIF node. */
216
+ gifData?: GIFData;
217
+ /** Data for a heading node. */
218
+ headingData?: HeadingData;
219
+ /** Data for an embedded HTML node. */
220
+ htmlData?: HTMLData;
221
+ /** Data for an image node. */
222
+ imageData?: ImageData;
223
+ /** Data for a link preview node. */
224
+ linkPreviewData?: LinkPreviewData;
225
+ /** @deprecated */
226
+ mapData?: MapData;
227
+ /** Data for a paragraph node. */
228
+ paragraphData?: ParagraphData;
229
+ /** Data for a poll node. */
230
+ pollData?: PollData;
231
+ /** Data for a text node. Used to apply decorations to text. */
232
+ textData?: TextData;
233
+ /** Data for an app embed node. */
234
+ appEmbedData?: AppEmbedData;
235
+ /** Data for a video node. */
236
+ videoData?: VideoData;
237
+ /** Data for an oEmbed node. */
238
+ embedData?: EmbedData;
239
+ /** Data for a collapsible list node. */
240
+ collapsibleListData?: CollapsibleListData;
241
+ /** Data for a table node. */
242
+ tableData?: TableData;
243
+ /** Data for a table cell node. */
244
+ tableCellData?: TableCellData;
245
+ /** Data for a custom external node. */
246
+ externalData?: Record<string, any> | null;
247
+ /** Data for an audio node. */
248
+ audioData?: AudioData;
249
+ /** Data for an ordered list node. */
250
+ orderedListData?: OrderedListData;
251
+ /** Data for a bulleted list node. */
252
+ bulletedListData?: BulletedListData;
253
+ /** Data for a block quote node. */
254
+ blockquoteData?: BlockquoteData;
255
+ /** Data for a caption node. */
256
+ captionData?: CaptionData;
257
+ /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
258
+ layoutCellData?: LayoutCellData;
259
+ /** 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. */
260
+ type?: NodeTypeWithLiterals;
261
+ /** Node ID. */
262
+ id?: string;
263
+ /** A list of child nodes. */
264
+ nodes?: Node[];
265
+ /** Padding and background color styling for the node. */
266
+ style?: NodeStyle;
267
+ }
268
+ /** @oneof */
269
+ interface NodeDataOneOf {
270
+ /** Data for a button node. */
271
+ buttonData?: ButtonData;
272
+ /** Data for a code block node. */
273
+ codeBlockData?: CodeBlockData;
274
+ /** Data for a divider node. */
275
+ dividerData?: DividerData;
276
+ /** Data for a file node. */
277
+ fileData?: FileData;
278
+ /** Data for a gallery node. */
279
+ galleryData?: GalleryData;
280
+ /** Data for a GIF node. */
281
+ gifData?: GIFData;
282
+ /** Data for a heading node. */
283
+ headingData?: HeadingData;
284
+ /** Data for an embedded HTML node. */
285
+ htmlData?: HTMLData;
286
+ /** Data for an image node. */
287
+ imageData?: ImageData;
288
+ /** Data for a link preview node. */
289
+ linkPreviewData?: LinkPreviewData;
290
+ /** @deprecated */
291
+ mapData?: MapData;
292
+ /** Data for a paragraph node. */
293
+ paragraphData?: ParagraphData;
294
+ /** Data for a poll node. */
295
+ pollData?: PollData;
296
+ /** Data for a text node. Used to apply decorations to text. */
297
+ textData?: TextData;
298
+ /** Data for an app embed node. */
299
+ appEmbedData?: AppEmbedData;
300
+ /** Data for a video node. */
301
+ videoData?: VideoData;
302
+ /** Data for an oEmbed node. */
303
+ embedData?: EmbedData;
304
+ /** Data for a collapsible list node. */
305
+ collapsibleListData?: CollapsibleListData;
306
+ /** Data for a table node. */
307
+ tableData?: TableData;
308
+ /** Data for a table cell node. */
309
+ tableCellData?: TableCellData;
310
+ /** Data for a custom external node. */
311
+ externalData?: Record<string, any> | null;
312
+ /** Data for an audio node. */
313
+ audioData?: AudioData;
314
+ /** Data for an ordered list node. */
315
+ orderedListData?: OrderedListData;
316
+ /** Data for a bulleted list node. */
317
+ bulletedListData?: BulletedListData;
318
+ /** Data for a block quote node. */
319
+ blockquoteData?: BlockquoteData;
320
+ /** Data for a caption node. */
321
+ captionData?: CaptionData;
322
+ /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
323
+ layoutCellData?: LayoutCellData;
324
+ }
325
+ declare enum NodeType {
326
+ PARAGRAPH = "PARAGRAPH",
327
+ TEXT = "TEXT",
328
+ HEADING = "HEADING",
329
+ BULLETED_LIST = "BULLETED_LIST",
330
+ ORDERED_LIST = "ORDERED_LIST",
331
+ LIST_ITEM = "LIST_ITEM",
332
+ BLOCKQUOTE = "BLOCKQUOTE",
333
+ CODE_BLOCK = "CODE_BLOCK",
334
+ VIDEO = "VIDEO",
335
+ DIVIDER = "DIVIDER",
336
+ FILE = "FILE",
337
+ GALLERY = "GALLERY",
338
+ GIF = "GIF",
339
+ HTML = "HTML",
340
+ IMAGE = "IMAGE",
341
+ LINK_PREVIEW = "LINK_PREVIEW",
342
+ /** @deprecated */
343
+ MAP = "MAP",
344
+ POLL = "POLL",
345
+ APP_EMBED = "APP_EMBED",
346
+ BUTTON = "BUTTON",
347
+ COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST",
348
+ TABLE = "TABLE",
349
+ EMBED = "EMBED",
350
+ COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM",
351
+ COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE",
352
+ COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY",
353
+ TABLE_CELL = "TABLE_CELL",
354
+ TABLE_ROW = "TABLE_ROW",
355
+ EXTERNAL = "EXTERNAL",
356
+ AUDIO = "AUDIO",
357
+ CAPTION = "CAPTION",
358
+ LAYOUT = "LAYOUT",
359
+ LAYOUT_CELL = "LAYOUT_CELL"
360
+ }
361
+ /** @enumType */
362
+ type NodeTypeWithLiterals = NodeType | 'PARAGRAPH' | 'TEXT' | 'HEADING' | 'BULLETED_LIST' | 'ORDERED_LIST' | 'LIST_ITEM' | 'BLOCKQUOTE' | 'CODE_BLOCK' | 'VIDEO' | 'DIVIDER' | 'FILE' | 'GALLERY' | 'GIF' | 'HTML' | 'IMAGE' | 'LINK_PREVIEW' | 'MAP' | 'POLL' | 'APP_EMBED' | 'BUTTON' | 'COLLAPSIBLE_LIST' | 'TABLE' | 'EMBED' | 'COLLAPSIBLE_ITEM' | 'COLLAPSIBLE_ITEM_TITLE' | 'COLLAPSIBLE_ITEM_BODY' | 'TABLE_CELL' | 'TABLE_ROW' | 'EXTERNAL' | 'AUDIO' | 'CAPTION' | 'LAYOUT' | 'LAYOUT_CELL';
363
+ interface NodeStyle {
364
+ /** The top padding value in pixels. */
365
+ paddingTop?: string | null;
366
+ /** The bottom padding value in pixels. */
367
+ paddingBottom?: string | null;
368
+ /** The background color as a hexadecimal value. */
369
+ backgroundColor?: string | null;
370
+ }
371
+ interface ButtonData {
372
+ /** Styling for the button's container. */
373
+ containerData?: PluginContainerData;
374
+ /** The button type. */
375
+ type?: ButtonDataTypeWithLiterals;
376
+ /** Styling for the button. */
377
+ styles?: Styles;
378
+ /** The text to display on the button. */
379
+ text?: string | null;
380
+ /** Button link details. */
381
+ link?: Link;
382
+ }
383
+ interface Border {
384
+ /**
385
+ * Deprecated: Use `borderWidth` in `styles` instead.
386
+ * @deprecated
387
+ */
388
+ width?: number | null;
389
+ /**
390
+ * Deprecated: Use `borderRadius` in `styles` instead.
391
+ * @deprecated
392
+ */
393
+ radius?: number | null;
394
+ }
395
+ interface Colors {
396
+ /**
397
+ * Deprecated: Use `textColor` in `styles` instead.
398
+ * @deprecated
399
+ */
400
+ text?: string | null;
401
+ /**
402
+ * Deprecated: Use `borderColor` in `styles` instead.
403
+ * @deprecated
404
+ */
405
+ border?: string | null;
406
+ /**
407
+ * Deprecated: Use `backgroundColor` in `styles` instead.
408
+ * @deprecated
409
+ */
410
+ background?: string | null;
411
+ }
412
+ interface PluginContainerData {
413
+ /** The width of the node when it's displayed. */
414
+ width?: PluginContainerDataWidth;
415
+ /** The node's alignment within its container. */
416
+ alignment?: PluginContainerDataAlignmentWithLiterals;
417
+ /** Spoiler cover settings for the node. */
418
+ spoiler?: Spoiler;
419
+ /** The height of the node when it's displayed. */
420
+ height?: Height;
421
+ /** 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`. */
422
+ textWrap?: boolean | null;
423
+ }
424
+ declare enum WidthType {
425
+ /** Width matches the content width */
426
+ CONTENT = "CONTENT",
427
+ /** Small Width */
428
+ SMALL = "SMALL",
429
+ /** Width will match the original asset width */
430
+ ORIGINAL = "ORIGINAL",
431
+ /** coast-to-coast display */
432
+ FULL_WIDTH = "FULL_WIDTH"
433
+ }
434
+ /** @enumType */
435
+ type WidthTypeWithLiterals = WidthType | 'CONTENT' | 'SMALL' | 'ORIGINAL' | 'FULL_WIDTH';
436
+ interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {
437
+ /**
438
+ * One of the following predefined width options:
439
+ * `CONTENT`: The width of the container matches the content width.
440
+ * `SMALL`: A small width.
441
+ * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
442
+ * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
443
+ */
444
+ size?: WidthTypeWithLiterals;
445
+ /** A custom width value in pixels. */
446
+ custom?: string | null;
447
+ }
448
+ /** @oneof */
449
+ interface PluginContainerDataWidthDataOneOf {
450
+ /**
451
+ * One of the following predefined width options:
452
+ * `CONTENT`: The width of the container matches the content width.
453
+ * `SMALL`: A small width.
454
+ * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
455
+ * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
456
+ */
457
+ size?: WidthTypeWithLiterals;
458
+ /** A custom width value in pixels. */
459
+ custom?: string | null;
460
+ }
461
+ declare enum PluginContainerDataAlignment {
462
+ /** Center Alignment */
463
+ CENTER = "CENTER",
464
+ /** Left Alignment */
465
+ LEFT = "LEFT",
466
+ /** Right Alignment */
467
+ RIGHT = "RIGHT"
468
+ }
469
+ /** @enumType */
470
+ type PluginContainerDataAlignmentWithLiterals = PluginContainerDataAlignment | 'CENTER' | 'LEFT' | 'RIGHT';
471
+ interface Spoiler {
472
+ /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */
473
+ enabled?: boolean | null;
474
+ /** The description displayed on top of the spoiler cover. */
475
+ description?: string | null;
476
+ /** The text for the button used to remove the spoiler cover. */
477
+ buttonText?: string | null;
478
+ }
479
+ interface Height {
480
+ /** A custom height value in pixels. */
481
+ custom?: string | null;
482
+ }
483
+ declare enum ButtonDataType {
484
+ /** Regular link button */
485
+ LINK = "LINK",
486
+ /** Triggers custom action that is defined in plugin configuration by the consumer */
487
+ ACTION = "ACTION"
488
+ }
489
+ /** @enumType */
490
+ type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';
491
+ interface Styles {
492
+ /**
493
+ * Deprecated: Use `borderWidth` and `borderRadius` instead.
494
+ * @deprecated
495
+ */
496
+ border?: Border;
497
+ /**
498
+ * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.
499
+ * @deprecated
500
+ */
501
+ colors?: Colors;
502
+ /** Border width in pixels. */
503
+ borderWidth?: number | null;
504
+ /**
505
+ * Deprecated: Use `borderWidth` for normal/hover states instead.
506
+ * @deprecated
507
+ */
508
+ borderWidthHover?: number | null;
509
+ /** Border radius in pixels. */
510
+ borderRadius?: number | null;
511
+ /**
512
+ * Border color as a hexadecimal value.
513
+ * @format COLOR_HEX
514
+ */
515
+ borderColor?: string | null;
516
+ /**
517
+ * Border color as a hexadecimal value (hover state).
518
+ * @format COLOR_HEX
519
+ */
520
+ borderColorHover?: string | null;
521
+ /**
522
+ * Text color as a hexadecimal value.
523
+ * @format COLOR_HEX
524
+ */
525
+ textColor?: string | null;
526
+ /**
527
+ * Text color as a hexadecimal value (hover state).
528
+ * @format COLOR_HEX
529
+ */
530
+ textColorHover?: string | null;
531
+ /**
532
+ * Background color as a hexadecimal value.
533
+ * @format COLOR_HEX
534
+ */
535
+ backgroundColor?: string | null;
536
+ /**
537
+ * Background color as a hexadecimal value (hover state).
538
+ * @format COLOR_HEX
539
+ */
540
+ backgroundColorHover?: string | null;
541
+ /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */
542
+ buttonSize?: string | null;
543
+ }
544
+ interface Link extends LinkDataOneOf {
545
+ /** The absolute URL for the linked document. */
546
+ url?: string;
547
+ /** The target node's ID. Used for linking to another node in this object. */
548
+ anchor?: string;
549
+ /**
550
+ * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:
551
+ * `SELF` - Default. Opens the linked document in the same frame as the link.
552
+ * `BLANK` - Opens the linked document in a new browser tab or window.
553
+ * `PARENT` - Opens the linked document in the link's parent frame.
554
+ * `TOP` - Opens the linked document in the full body of the link's browser tab or window.
555
+ */
556
+ target?: TargetWithLiterals;
557
+ /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */
558
+ rel?: Rel;
559
+ /** A serialized object used for a custom or external link panel. */
560
+ customData?: string | null;
561
+ }
562
+ /** @oneof */
563
+ interface LinkDataOneOf {
564
+ /** The absolute URL for the linked document. */
565
+ url?: string;
566
+ /** The target node's ID. Used for linking to another node in this object. */
567
+ anchor?: string;
568
+ }
569
+ declare enum Target {
570
+ /** Opens the linked document in the same frame as it was clicked (this is default) */
571
+ SELF = "SELF",
572
+ /** Opens the linked document in a new window or tab */
573
+ BLANK = "BLANK",
574
+ /** Opens the linked document in the parent frame */
575
+ PARENT = "PARENT",
576
+ /** Opens the linked document in the full body of the window */
577
+ TOP = "TOP"
578
+ }
579
+ /** @enumType */
580
+ type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';
581
+ interface Rel {
582
+ /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */
583
+ nofollow?: boolean | null;
584
+ /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */
585
+ sponsored?: boolean | null;
586
+ /** 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`. */
587
+ ugc?: boolean | null;
588
+ /** Indicates that this link protect referral information from being passed to the target website. */
589
+ noreferrer?: boolean | null;
590
+ }
591
+ interface CodeBlockData {
592
+ /** Styling for the code block's text. */
593
+ textStyle?: TextStyle;
594
+ }
595
+ interface TextStyle {
596
+ /** Text alignment. Defaults to `AUTO`. */
597
+ textAlignment?: TextAlignmentWithLiterals;
598
+ /** 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. */
599
+ lineHeight?: string | null;
600
+ }
601
+ declare enum TextAlignment {
602
+ /** browser default, eqivalent to `initial` */
603
+ AUTO = "AUTO",
604
+ /** Left align */
605
+ LEFT = "LEFT",
606
+ /** Right align */
607
+ RIGHT = "RIGHT",
608
+ /** Center align */
609
+ CENTER = "CENTER",
610
+ /** 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 */
611
+ JUSTIFY = "JUSTIFY"
612
+ }
613
+ /** @enumType */
614
+ type TextAlignmentWithLiterals = TextAlignment | 'AUTO' | 'LEFT' | 'RIGHT' | 'CENTER' | 'JUSTIFY';
615
+ interface DividerData {
616
+ /** Styling for the divider's container. */
617
+ containerData?: PluginContainerData;
618
+ /** Divider line style. */
619
+ lineStyle?: LineStyleWithLiterals;
620
+ /** Divider width. */
621
+ width?: WidthWithLiterals;
622
+ /** Divider alignment. */
623
+ alignment?: DividerDataAlignmentWithLiterals;
624
+ }
625
+ declare enum LineStyle {
626
+ /** Single Line */
627
+ SINGLE = "SINGLE",
628
+ /** Double Line */
629
+ DOUBLE = "DOUBLE",
630
+ /** Dashed Line */
631
+ DASHED = "DASHED",
632
+ /** Dotted Line */
633
+ DOTTED = "DOTTED"
634
+ }
635
+ /** @enumType */
636
+ type LineStyleWithLiterals = LineStyle | 'SINGLE' | 'DOUBLE' | 'DASHED' | 'DOTTED';
637
+ declare enum Width {
638
+ /** Large line */
639
+ LARGE = "LARGE",
640
+ /** Medium line */
641
+ MEDIUM = "MEDIUM",
642
+ /** Small line */
643
+ SMALL = "SMALL"
644
+ }
645
+ /** @enumType */
646
+ type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';
647
+ declare enum DividerDataAlignment {
648
+ /** Center alignment */
649
+ CENTER = "CENTER",
650
+ /** Left alignment */
651
+ LEFT = "LEFT",
652
+ /** Right alignment */
653
+ RIGHT = "RIGHT"
654
+ }
655
+ /** @enumType */
656
+ type DividerDataAlignmentWithLiterals = DividerDataAlignment | 'CENTER' | 'LEFT' | 'RIGHT';
657
+ interface FileData {
658
+ /** Styling for the file's container. */
659
+ containerData?: PluginContainerData;
660
+ /** The source for the file's data. */
661
+ src?: FileSource;
662
+ /** File name. */
663
+ name?: string | null;
664
+ /** File type. */
665
+ type?: string | null;
666
+ /**
667
+ * Use `sizeInKb` instead.
668
+ * @deprecated
669
+ */
670
+ size?: number | null;
671
+ /** Settings for PDF files. */
672
+ pdfSettings?: PDFSettings;
673
+ /** File MIME type. */
674
+ mimeType?: string | null;
675
+ /** File path. */
676
+ path?: string | null;
677
+ /** File size in KB. */
678
+ sizeInKb?: string | null;
679
+ }
680
+ declare enum ViewMode {
681
+ /** No PDF view */
682
+ NONE = "NONE",
683
+ /** Full PDF view */
684
+ FULL = "FULL",
685
+ /** Mini PDF view */
686
+ MINI = "MINI"
687
+ }
688
+ /** @enumType */
689
+ type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';
690
+ interface FileSource extends FileSourceDataOneOf {
691
+ /** The absolute URL for the file's source. */
692
+ url?: string | null;
693
+ /**
694
+ * Custom ID. Use `id` instead.
695
+ * @deprecated
696
+ */
697
+ custom?: string | null;
698
+ /** An ID that's resolved to a URL by a resolver function. */
699
+ id?: string | null;
700
+ /** Indicates whether the file's source is private. Defaults to `false`. */
701
+ private?: boolean | null;
702
+ }
703
+ /** @oneof */
704
+ interface FileSourceDataOneOf {
705
+ /** The absolute URL for the file's source. */
706
+ url?: string | null;
707
+ /**
708
+ * Custom ID. Use `id` instead.
709
+ * @deprecated
710
+ */
711
+ custom?: string | null;
712
+ /** An ID that's resolved to a URL by a resolver function. */
713
+ id?: string | null;
714
+ }
715
+ interface PDFSettings {
716
+ /**
717
+ * PDF view mode. One of the following:
718
+ * `NONE` : The PDF isn't displayed.
719
+ * `FULL` : A full page view of the PDF is displayed.
720
+ * `MINI` : A mini view of the PDF is displayed.
721
+ */
722
+ viewMode?: ViewModeWithLiterals;
723
+ /** Sets whether the PDF download button is disabled. Defaults to `false`. */
724
+ disableDownload?: boolean | null;
725
+ /** Sets whether the PDF print button is disabled. Defaults to `false`. */
726
+ disablePrint?: boolean | null;
727
+ }
728
+ interface GalleryData {
729
+ /** Styling for the gallery's container. */
730
+ containerData?: PluginContainerData;
731
+ /** The items in the gallery. */
732
+ items?: Item[];
733
+ /** Options for defining the gallery's appearance. */
734
+ options?: GalleryOptions;
735
+ /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */
736
+ disableExpand?: boolean | null;
737
+ /** Sets whether the gallery's download button is disabled. Defaults to `false`. */
738
+ disableDownload?: boolean | null;
739
+ }
740
+ interface V1Media {
741
+ /** The source for the media's data. */
742
+ src?: FileSource;
743
+ /** Media width in pixels. */
744
+ width?: number | null;
745
+ /** Media height in pixels. */
746
+ height?: number | null;
747
+ /** Media duration in seconds. Only relevant for audio and video files. */
748
+ duration?: number | null;
749
+ }
750
+ interface Image {
751
+ /** Image file details. */
752
+ media?: V1Media;
753
+ /** Link details for images that are links. */
754
+ link?: Link;
755
+ }
756
+ interface Video {
757
+ /** Video file details. */
758
+ media?: V1Media;
759
+ /** Video thumbnail file details. */
760
+ thumbnail?: V1Media;
761
+ }
762
+ interface Item extends ItemDataOneOf {
763
+ /** An image item. */
764
+ image?: Image;
765
+ /** A video item. */
766
+ video?: Video;
767
+ /** Item title. */
768
+ title?: string | null;
769
+ /** Item's alternative text. */
770
+ altText?: string | null;
771
+ }
772
+ /** @oneof */
773
+ interface ItemDataOneOf {
774
+ /** An image item. */
775
+ image?: Image;
776
+ /** A video item. */
777
+ video?: Video;
778
+ }
779
+ interface GalleryOptions {
780
+ /** Gallery layout. */
781
+ layout?: GalleryOptionsLayout;
782
+ /** Styling for gallery items. */
783
+ item?: ItemStyle;
784
+ /** Styling for gallery thumbnail images. */
785
+ thumbnails?: Thumbnails;
786
+ }
787
+ declare enum LayoutType {
788
+ /** Collage type */
789
+ COLLAGE = "COLLAGE",
790
+ /** Masonry type */
791
+ MASONRY = "MASONRY",
792
+ /** Grid type */
793
+ GRID = "GRID",
794
+ /** Thumbnail type */
795
+ THUMBNAIL = "THUMBNAIL",
796
+ /** Slider type */
797
+ SLIDER = "SLIDER",
798
+ /** Slideshow type */
799
+ SLIDESHOW = "SLIDESHOW",
800
+ /** Panorama type */
801
+ PANORAMA = "PANORAMA",
802
+ /** Column type */
803
+ COLUMN = "COLUMN",
804
+ /** Magic type */
805
+ MAGIC = "MAGIC",
806
+ /** Fullsize images type */
807
+ FULLSIZE = "FULLSIZE"
808
+ }
809
+ /** @enumType */
810
+ type LayoutTypeWithLiterals = LayoutType | 'COLLAGE' | 'MASONRY' | 'GRID' | 'THUMBNAIL' | 'SLIDER' | 'SLIDESHOW' | 'PANORAMA' | 'COLUMN' | 'MAGIC' | 'FULLSIZE';
811
+ declare enum Orientation {
812
+ /** Rows Orientation */
813
+ ROWS = "ROWS",
814
+ /** Columns Orientation */
815
+ COLUMNS = "COLUMNS"
816
+ }
817
+ /** @enumType */
818
+ type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';
819
+ declare enum Crop {
820
+ /** Crop to fill */
821
+ FILL = "FILL",
822
+ /** Crop to fit */
823
+ FIT = "FIT"
824
+ }
825
+ /** @enumType */
826
+ type CropWithLiterals = Crop | 'FILL' | 'FIT';
827
+ declare enum ThumbnailsAlignment {
828
+ /** Top alignment */
829
+ TOP = "TOP",
830
+ /** Right alignment */
831
+ RIGHT = "RIGHT",
832
+ /** Bottom alignment */
833
+ BOTTOM = "BOTTOM",
834
+ /** Left alignment */
835
+ LEFT = "LEFT",
836
+ /** No thumbnail */
837
+ NONE = "NONE"
838
+ }
839
+ /** @enumType */
840
+ type ThumbnailsAlignmentWithLiterals = ThumbnailsAlignment | 'TOP' | 'RIGHT' | 'BOTTOM' | 'LEFT' | 'NONE';
841
+ interface GalleryOptionsLayout {
842
+ /** Gallery layout type. */
843
+ type?: LayoutTypeWithLiterals;
844
+ /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */
845
+ horizontalScroll?: boolean | null;
846
+ /** Gallery orientation. */
847
+ orientation?: OrientationWithLiterals;
848
+ /** The number of columns to display on full size screens. */
849
+ numberOfColumns?: number | null;
850
+ /** The number of columns to display on mobile screens. */
851
+ mobileNumberOfColumns?: number | null;
852
+ }
853
+ interface ItemStyle {
854
+ /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */
855
+ targetSize?: number | null;
856
+ /** Item ratio */
857
+ ratio?: number | null;
858
+ /** Sets how item images are cropped. */
859
+ crop?: CropWithLiterals;
860
+ /** The spacing between items in pixels. */
861
+ spacing?: number | null;
862
+ }
863
+ interface Thumbnails {
864
+ /** Thumbnail alignment. */
865
+ placement?: ThumbnailsAlignmentWithLiterals;
866
+ /** Spacing between thumbnails in pixels. */
867
+ spacing?: number | null;
868
+ }
869
+ interface GIFData {
870
+ /** Styling for the GIF's container. */
871
+ containerData?: PluginContainerData;
872
+ /** The source of the full size GIF. */
873
+ original?: GIF;
874
+ /** The source of the downsized GIF. */
875
+ downsized?: GIF;
876
+ /** Height in pixels. */
877
+ height?: number;
878
+ /** Width in pixels. */
879
+ width?: number;
880
+ /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */
881
+ gifType?: GIFTypeWithLiterals;
882
+ }
883
+ interface GIF {
884
+ /**
885
+ * GIF format URL.
886
+ * @format WEB_URL
887
+ */
888
+ gif?: string | null;
889
+ /**
890
+ * MP4 format URL.
891
+ * @format WEB_URL
892
+ */
893
+ mp4?: string | null;
894
+ /**
895
+ * Thumbnail URL.
896
+ * @format WEB_URL
897
+ */
898
+ still?: string | null;
899
+ }
900
+ declare enum GIFType {
901
+ NORMAL = "NORMAL",
902
+ STICKER = "STICKER"
903
+ }
904
+ /** @enumType */
905
+ type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';
906
+ interface HeadingData {
907
+ /** Heading level from 1-6. */
908
+ level?: number;
909
+ /** Styling for the heading text. */
910
+ textStyle?: TextStyle;
911
+ /** Indentation level from 1-4. */
912
+ indentation?: number | null;
913
+ }
914
+ interface HTMLData extends HTMLDataDataOneOf {
915
+ /** The URL for the HTML code for the node. */
916
+ url?: string;
917
+ /** The HTML code for the node. */
918
+ html?: string;
919
+ /**
920
+ * Whether this is an AdSense element. Use `source` instead.
921
+ * @deprecated
922
+ */
923
+ isAdsense?: boolean | null;
924
+ /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */
925
+ containerData?: PluginContainerData;
926
+ /** The type of HTML code. */
927
+ source?: SourceWithLiterals;
928
+ /** If container height is aligned with its content height. Defaults to `true`. */
929
+ autoHeight?: boolean | null;
930
+ }
931
+ /** @oneof */
932
+ interface HTMLDataDataOneOf {
933
+ /** The URL for the HTML code for the node. */
934
+ url?: string;
935
+ /** The HTML code for the node. */
936
+ html?: string;
937
+ /**
938
+ * Whether this is an AdSense element. Use `source` instead.
939
+ * @deprecated
940
+ */
941
+ isAdsense?: boolean | null;
942
+ }
943
+ declare enum Source {
944
+ HTML = "HTML",
945
+ ADSENSE = "ADSENSE"
946
+ }
947
+ /** @enumType */
948
+ type SourceWithLiterals = Source | 'HTML' | 'ADSENSE';
949
+ interface ImageData {
950
+ /** Styling for the image's container. */
951
+ containerData?: PluginContainerData;
952
+ /** Image file details. */
953
+ image?: V1Media;
954
+ /** Link details for images that are links. */
955
+ link?: Link;
956
+ /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */
957
+ disableExpand?: boolean | null;
958
+ /** Image's alternative text. */
959
+ altText?: string | null;
960
+ /**
961
+ * Deprecated: use Caption node instead.
962
+ * @deprecated
963
+ */
964
+ caption?: string | null;
965
+ /** Sets whether the image's download button is disabled. Defaults to `false`. */
966
+ disableDownload?: boolean | null;
967
+ /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */
968
+ decorative?: boolean | null;
969
+ /** Styling for the image. */
970
+ styles?: ImageDataStyles;
971
+ }
972
+ interface StylesBorder {
973
+ /** Border width in pixels. */
974
+ width?: number | null;
975
+ /**
976
+ * Border color as a hexadecimal value.
977
+ * @format COLOR_HEX
978
+ */
979
+ color?: string | null;
980
+ /** Border radius in pixels. */
981
+ radius?: number | null;
982
+ }
983
+ interface ImageDataStyles {
984
+ /** Border attributes. */
985
+ border?: StylesBorder;
986
+ }
987
+ interface LinkPreviewData {
988
+ /** Styling for the link preview's container. */
989
+ containerData?: PluginContainerData;
990
+ /** Link details. */
991
+ link?: Link;
992
+ /** Preview title. */
993
+ title?: string | null;
994
+ /** Preview thumbnail URL. */
995
+ thumbnailUrl?: string | null;
996
+ /** Preview description. */
997
+ description?: string | null;
998
+ /** The preview content as HTML. */
999
+ html?: string | null;
1000
+ /** Styling for the link preview. */
1001
+ styles?: LinkPreviewDataStyles;
1002
+ }
1003
+ declare enum StylesPosition {
1004
+ /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */
1005
+ START = "START",
1006
+ /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */
1007
+ END = "END",
1008
+ /** Thumbnail positioned at the top */
1009
+ TOP = "TOP",
1010
+ /** Thumbnail hidden and not displayed */
1011
+ HIDDEN = "HIDDEN"
1012
+ }
1013
+ /** @enumType */
1014
+ type StylesPositionWithLiterals = StylesPosition | 'START' | 'END' | 'TOP' | 'HIDDEN';
1015
+ interface LinkPreviewDataStyles {
1016
+ /**
1017
+ * Background color as a hexadecimal value.
1018
+ * @format COLOR_HEX
1019
+ */
1020
+ backgroundColor?: string | null;
1021
+ /**
1022
+ * Title color as a hexadecimal value.
1023
+ * @format COLOR_HEX
1024
+ */
1025
+ titleColor?: string | null;
1026
+ /**
1027
+ * Subtitle color as a hexadecimal value.
1028
+ * @format COLOR_HEX
1029
+ */
1030
+ subtitleColor?: string | null;
1031
+ /**
1032
+ * Link color as a hexadecimal value.
1033
+ * @format COLOR_HEX
1034
+ */
1035
+ linkColor?: string | null;
1036
+ /** Border width in pixels. */
1037
+ borderWidth?: number | null;
1038
+ /** Border radius in pixels. */
1039
+ borderRadius?: number | null;
1040
+ /**
1041
+ * Border color as a hexadecimal value.
1042
+ * @format COLOR_HEX
1043
+ */
1044
+ borderColor?: string | null;
1045
+ /** Position of thumbnail. Defaults to `START`. */
1046
+ thumbnailPosition?: StylesPositionWithLiterals;
1047
+ }
1048
+ interface MapData {
1049
+ /** Styling for the map's container. */
1050
+ containerData?: PluginContainerData;
1051
+ /** Map settings. */
1052
+ mapSettings?: MapSettings;
1053
+ }
1054
+ interface MapSettings {
1055
+ /** The address to display on the map. */
1056
+ address?: string | null;
1057
+ /** Sets whether the map is draggable. */
1058
+ draggable?: boolean | null;
1059
+ /** Sets whether the location marker is visible. */
1060
+ marker?: boolean | null;
1061
+ /** Sets whether street view control is enabled. */
1062
+ streetViewControl?: boolean | null;
1063
+ /** Sets whether zoom control is enabled. */
1064
+ zoomControl?: boolean | null;
1065
+ /** Location latitude. */
1066
+ lat?: number | null;
1067
+ /** Location longitude. */
1068
+ lng?: number | null;
1069
+ /** Location name. */
1070
+ locationName?: string | null;
1071
+ /** Sets whether view mode control is enabled. */
1072
+ viewModeControl?: boolean | null;
1073
+ /** Initial zoom value. */
1074
+ initialZoom?: number | null;
1075
+ /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */
1076
+ mapType?: MapTypeWithLiterals;
1077
+ }
1078
+ declare enum MapType {
1079
+ /** Roadmap map type */
1080
+ ROADMAP = "ROADMAP",
1081
+ /** Satellite map type */
1082
+ SATELITE = "SATELITE",
1083
+ /** Hybrid map type */
1084
+ HYBRID = "HYBRID",
1085
+ /** Terrain map type */
1086
+ TERRAIN = "TERRAIN"
1087
+ }
1088
+ /** @enumType */
1089
+ type MapTypeWithLiterals = MapType | 'ROADMAP' | 'SATELITE' | 'HYBRID' | 'TERRAIN';
1090
+ interface ParagraphData {
1091
+ /** Styling for the paragraph text. */
1092
+ textStyle?: TextStyle;
1093
+ /** Indentation level from 1-4. */
1094
+ indentation?: number | null;
1095
+ /** Paragraph level */
1096
+ level?: number | null;
1097
+ }
1098
+ interface PollData {
1099
+ /** Styling for the poll's container. */
1100
+ containerData?: PluginContainerData;
1101
+ /** Poll data. */
1102
+ poll?: Poll;
1103
+ /** Layout settings for the poll and voting options. */
1104
+ layout?: PollDataLayout;
1105
+ /** Styling for the poll and voting options. */
1106
+ design?: Design;
1107
+ }
1108
+ declare enum ViewRole {
1109
+ /** Only Poll creator can view the results */
1110
+ CREATOR = "CREATOR",
1111
+ /** Anyone who voted can see the results */
1112
+ VOTERS = "VOTERS",
1113
+ /** Anyone can see the results, even if one didn't vote */
1114
+ EVERYONE = "EVERYONE"
1115
+ }
1116
+ /** @enumType */
1117
+ type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';
1118
+ declare enum VoteRole {
1119
+ /** Logged in member */
1120
+ SITE_MEMBERS = "SITE_MEMBERS",
1121
+ /** Anyone */
1122
+ ALL = "ALL"
1123
+ }
1124
+ /** @enumType */
1125
+ type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';
1126
+ interface Permissions {
1127
+ /** Sets who can view the poll results. */
1128
+ view?: ViewRoleWithLiterals;
1129
+ /** Sets who can vote. */
1130
+ vote?: VoteRoleWithLiterals;
1131
+ /** Sets whether one voter can vote multiple times. Defaults to `false`. */
1132
+ allowMultipleVotes?: boolean | null;
1133
+ }
1134
+ interface Option {
1135
+ /** Option ID. */
1136
+ id?: string | null;
1137
+ /** Option title. */
1138
+ title?: string | null;
1139
+ /** The image displayed with the option. */
1140
+ image?: V1Media;
1141
+ }
1142
+ interface PollSettings {
1143
+ /** Permissions settings for voting. */
1144
+ permissions?: Permissions;
1145
+ /** Sets whether voters are displayed in the vote results. Defaults to `true`. */
1146
+ showVoters?: boolean | null;
1147
+ /** Sets whether the vote count is displayed. Defaults to `true`. */
1148
+ showVotesCount?: boolean | null;
1149
+ }
1150
+ declare enum PollLayoutType {
1151
+ /** List */
1152
+ LIST = "LIST",
1153
+ /** Grid */
1154
+ GRID = "GRID"
1155
+ }
1156
+ /** @enumType */
1157
+ type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';
1158
+ declare enum PollLayoutDirection {
1159
+ /** Left-to-right */
1160
+ LTR = "LTR",
1161
+ /** Right-to-left */
1162
+ RTL = "RTL"
1163
+ }
1164
+ /** @enumType */
1165
+ type PollLayoutDirectionWithLiterals = PollLayoutDirection | 'LTR' | 'RTL';
1166
+ interface PollLayout {
1167
+ /** The layout for displaying the voting options. */
1168
+ type?: PollLayoutTypeWithLiterals;
1169
+ /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */
1170
+ direction?: PollLayoutDirectionWithLiterals;
1171
+ /** Sets whether to display the main poll image. Defaults to `false`. */
1172
+ enableImage?: boolean | null;
1173
+ }
1174
+ interface OptionLayout {
1175
+ /** Sets whether to display option images. Defaults to `false`. */
1176
+ enableImage?: boolean | null;
1177
+ }
1178
+ declare enum BackgroundType {
1179
+ /** Color background type */
1180
+ COLOR = "COLOR",
1181
+ /** Image background type */
1182
+ IMAGE = "IMAGE",
1183
+ /** Gradiant background type */
1184
+ GRADIENT = "GRADIENT"
1185
+ }
1186
+ /** @enumType */
1187
+ type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'IMAGE' | 'GRADIENT';
1188
+ interface Gradient {
1189
+ /** The gradient angle in degrees. */
1190
+ angle?: number | null;
1191
+ /**
1192
+ * The start color as a hexademical value.
1193
+ * @format COLOR_HEX
1194
+ */
1195
+ startColor?: string | null;
1196
+ /**
1197
+ * The end color as a hexademical value.
1198
+ * @format COLOR_HEX
1199
+ */
1200
+ lastColor?: string | null;
1201
+ }
1202
+ interface Background extends BackgroundBackgroundOneOf {
1203
+ /**
1204
+ * The background color as a hexademical value.
1205
+ * @format COLOR_HEX
1206
+ */
1207
+ color?: string | null;
1208
+ /** An image to use for the background. */
1209
+ image?: V1Media;
1210
+ /** Details for a gradient background. */
1211
+ gradient?: Gradient;
1212
+ /** Background type. For each option, include the relevant details. */
1213
+ type?: BackgroundTypeWithLiterals;
1214
+ }
1215
+ /** @oneof */
1216
+ interface BackgroundBackgroundOneOf {
1217
+ /**
1218
+ * The background color as a hexademical value.
1219
+ * @format COLOR_HEX
1220
+ */
1221
+ color?: string | null;
1222
+ /** An image to use for the background. */
1223
+ image?: V1Media;
1224
+ /** Details for a gradient background. */
1225
+ gradient?: Gradient;
1226
+ }
1227
+ interface PollDesign {
1228
+ /** Background styling. */
1229
+ background?: Background;
1230
+ /** Border radius in pixels. */
1231
+ borderRadius?: number | null;
1232
+ }
1233
+ interface OptionDesign {
1234
+ /** Border radius in pixels. */
1235
+ borderRadius?: number | null;
1236
+ }
1237
+ interface Poll {
1238
+ /** Poll ID. */
1239
+ id?: string | null;
1240
+ /** Poll title. */
1241
+ title?: string | null;
1242
+ /** Poll creator ID. */
1243
+ creatorId?: string | null;
1244
+ /** Main poll image. */
1245
+ image?: V1Media;
1246
+ /** Voting options. */
1247
+ options?: Option[];
1248
+ /** The poll's permissions and display settings. */
1249
+ settings?: PollSettings;
1250
+ }
1251
+ interface PollDataLayout {
1252
+ /** Poll layout settings. */
1253
+ poll?: PollLayout;
1254
+ /** Voting otpions layout settings. */
1255
+ options?: OptionLayout;
1256
+ }
1257
+ interface Design {
1258
+ /** Styling for the poll. */
1259
+ poll?: PollDesign;
1260
+ /** Styling for voting options. */
1261
+ options?: OptionDesign;
1262
+ }
1263
+ interface TextData {
1264
+ /** The text to apply decorations to. */
1265
+ text?: string;
1266
+ /** The decorations to apply. */
1267
+ decorations?: Decoration[];
1268
+ }
1269
+ /** Adds appearence changes to text */
1270
+ interface Decoration extends DecorationDataOneOf {
1271
+ /** Data for an anchor link decoration. */
1272
+ anchorData?: AnchorData;
1273
+ /** Data for a color decoration. */
1274
+ colorData?: ColorData;
1275
+ /** Data for an external link decoration. */
1276
+ linkData?: LinkData;
1277
+ /** Data for a mention decoration. */
1278
+ mentionData?: MentionData;
1279
+ /** Data for a font size decoration. */
1280
+ fontSizeData?: FontSizeData;
1281
+ /** Font weight for a bold decoration. */
1282
+ fontWeightValue?: number | null;
1283
+ /** Data for an italic decoration. Defaults to `true`. */
1284
+ italicData?: boolean | null;
1285
+ /** Data for an underline decoration. Defaults to `true`. */
1286
+ underlineData?: boolean | null;
1287
+ /** Data for a spoiler decoration. */
1288
+ spoilerData?: SpoilerData;
1289
+ /** Data for a strikethrough decoration. Defaults to `true`. */
1290
+ strikethroughData?: boolean | null;
1291
+ /** Data for a superscript decoration. Defaults to `true`. */
1292
+ superscriptData?: boolean | null;
1293
+ /** Data for a subscript decoration. Defaults to `true`. */
1294
+ subscriptData?: boolean | null;
1295
+ /** The type of decoration to apply. */
1296
+ type?: DecorationTypeWithLiterals;
1297
+ }
1298
+ /** @oneof */
1299
+ interface DecorationDataOneOf {
1300
+ /** Data for an anchor link decoration. */
1301
+ anchorData?: AnchorData;
1302
+ /** Data for a color decoration. */
1303
+ colorData?: ColorData;
1304
+ /** Data for an external link decoration. */
1305
+ linkData?: LinkData;
1306
+ /** Data for a mention decoration. */
1307
+ mentionData?: MentionData;
1308
+ /** Data for a font size decoration. */
1309
+ fontSizeData?: FontSizeData;
1310
+ /** Font weight for a bold decoration. */
1311
+ fontWeightValue?: number | null;
1312
+ /** Data for an italic decoration. Defaults to `true`. */
1313
+ italicData?: boolean | null;
1314
+ /** Data for an underline decoration. Defaults to `true`. */
1315
+ underlineData?: boolean | null;
1316
+ /** Data for a spoiler decoration. */
1317
+ spoilerData?: SpoilerData;
1318
+ /** Data for a strikethrough decoration. Defaults to `true`. */
1319
+ strikethroughData?: boolean | null;
1320
+ /** Data for a superscript decoration. Defaults to `true`. */
1321
+ superscriptData?: boolean | null;
1322
+ /** Data for a subscript decoration. Defaults to `true`. */
1323
+ subscriptData?: boolean | null;
1324
+ }
1325
+ declare enum DecorationType {
1326
+ BOLD = "BOLD",
1327
+ ITALIC = "ITALIC",
1328
+ UNDERLINE = "UNDERLINE",
1329
+ SPOILER = "SPOILER",
1330
+ ANCHOR = "ANCHOR",
1331
+ MENTION = "MENTION",
1332
+ LINK = "LINK",
1333
+ COLOR = "COLOR",
1334
+ FONT_SIZE = "FONT_SIZE",
1335
+ EXTERNAL = "EXTERNAL",
1336
+ STRIKETHROUGH = "STRIKETHROUGH",
1337
+ SUPERSCRIPT = "SUPERSCRIPT",
1338
+ SUBSCRIPT = "SUBSCRIPT"
1339
+ }
1340
+ /** @enumType */
1341
+ type DecorationTypeWithLiterals = DecorationType | 'BOLD' | 'ITALIC' | 'UNDERLINE' | 'SPOILER' | 'ANCHOR' | 'MENTION' | 'LINK' | 'COLOR' | 'FONT_SIZE' | 'EXTERNAL' | 'STRIKETHROUGH' | 'SUPERSCRIPT' | 'SUBSCRIPT';
1342
+ interface AnchorData {
1343
+ /** The target node's ID. */
1344
+ anchor?: string;
1345
+ }
1346
+ interface ColorData {
1347
+ /** The text's background color as a hexadecimal value. */
1348
+ background?: string | null;
1349
+ /** The text's foreground color as a hexadecimal value. */
1350
+ foreground?: string | null;
1351
+ }
1352
+ interface LinkData {
1353
+ /** Link details. */
1354
+ link?: Link;
1355
+ }
1356
+ interface MentionData {
1357
+ /** The mentioned user's name. */
1358
+ name?: string;
1359
+ /** The version of the user's name that appears after the `@` character in the mention. */
1360
+ slug?: string;
1361
+ /** Mentioned user's ID. */
1362
+ id?: string | null;
1363
+ }
1364
+ interface FontSizeData {
1365
+ /** The units used for the font size. */
1366
+ unit?: FontTypeWithLiterals;
1367
+ /** Font size value. */
1368
+ value?: number | null;
1369
+ }
1370
+ declare enum FontType {
1371
+ PX = "PX",
1372
+ EM = "EM"
1373
+ }
1374
+ /** @enumType */
1375
+ type FontTypeWithLiterals = FontType | 'PX' | 'EM';
1376
+ interface SpoilerData {
1377
+ /** Spoiler ID. */
1378
+ id?: string | null;
1379
+ }
1380
+ interface AppEmbedData extends AppEmbedDataAppDataOneOf {
1381
+ /** Data for embedded Wix Bookings content. */
1382
+ bookingData?: BookingData;
1383
+ /** Data for embedded Wix Events content. */
1384
+ eventData?: EventData;
1385
+ /** The type of Wix App content being embedded. */
1386
+ type?: AppTypeWithLiterals;
1387
+ /** The ID of the embedded content. */
1388
+ itemId?: string | null;
1389
+ /** The name of the embedded content. */
1390
+ name?: string | null;
1391
+ /**
1392
+ * Deprecated: Use `image` instead.
1393
+ * @deprecated
1394
+ */
1395
+ imageSrc?: string | null;
1396
+ /** The URL for the embedded content. */
1397
+ url?: string | null;
1398
+ /** An image for the embedded content. */
1399
+ image?: V1Media;
1400
+ /** Whether to hide the image. */
1401
+ hideImage?: boolean | null;
1402
+ /** Whether to hide the title. */
1403
+ hideTitle?: boolean | null;
1404
+ /** Whether to hide the price. */
1405
+ hidePrice?: boolean | null;
1406
+ /** Whether to hide the description (Event and Booking). */
1407
+ hideDescription?: boolean | null;
1408
+ /** Whether to hide the date and time (Event). */
1409
+ hideDateTime?: boolean | null;
1410
+ /** Whether to hide the location (Event). */
1411
+ hideLocation?: boolean | null;
1412
+ /** Whether to hide the duration (Booking). */
1413
+ hideDuration?: boolean | null;
1414
+ /** Whether to hide the button. */
1415
+ hideButton?: boolean | null;
1416
+ /** Whether to hide the ribbon. */
1417
+ hideRibbon?: boolean | null;
1418
+ /** Button styling options. */
1419
+ buttonStyles?: ButtonStyles;
1420
+ /** Image styling options. */
1421
+ imageStyles?: ImageStyles;
1422
+ /** Ribbon styling options. */
1423
+ ribbonStyles?: RibbonStyles;
1424
+ /** Card styling options. */
1425
+ cardStyles?: CardStyles;
1426
+ /** Styling for the app embed's container. */
1427
+ containerData?: PluginContainerData;
1428
+ /** Pricing data for embedded Wix App content. */
1429
+ pricingData?: PricingData;
1430
+ }
1431
+ /** @oneof */
1432
+ interface AppEmbedDataAppDataOneOf {
1433
+ /** Data for embedded Wix Bookings content. */
1434
+ bookingData?: BookingData;
1435
+ /** Data for embedded Wix Events content. */
1436
+ eventData?: EventData;
1437
+ }
1438
+ declare enum Position {
1439
+ /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */
1440
+ START = "START",
1441
+ /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */
1442
+ END = "END",
1443
+ /** Image positioned at the top */
1444
+ TOP = "TOP"
1445
+ }
1446
+ /** @enumType */
1447
+ type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';
1448
+ declare enum AspectRatio {
1449
+ /** 1:1 aspect ratio */
1450
+ SQUARE = "SQUARE",
1451
+ /** 16:9 aspect ratio */
1452
+ RECTANGLE = "RECTANGLE"
1453
+ }
1454
+ /** @enumType */
1455
+ type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';
1456
+ declare enum Resizing {
1457
+ /** Fill the container, may crop the image */
1458
+ FILL = "FILL",
1459
+ /** Fit the image within the container */
1460
+ FIT = "FIT"
1461
+ }
1462
+ /** @enumType */
1463
+ type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';
1464
+ declare enum Placement {
1465
+ /** Ribbon placed on the image */
1466
+ IMAGE = "IMAGE",
1467
+ /** Ribbon placed on the product information */
1468
+ PRODUCT_INFO = "PRODUCT_INFO"
1469
+ }
1470
+ /** @enumType */
1471
+ type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';
1472
+ declare enum Type {
1473
+ /** Card with visible border and background */
1474
+ CONTAINED = "CONTAINED",
1475
+ /** Card without visible border */
1476
+ FRAMELESS = "FRAMELESS"
1477
+ }
1478
+ /** @enumType */
1479
+ type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';
1480
+ declare enum Alignment {
1481
+ /** Content aligned to start (left in LTR layouts, right in RTL layouts) */
1482
+ START = "START",
1483
+ /** Content centered */
1484
+ CENTER = "CENTER",
1485
+ /** Content aligned to end (right in LTR layouts, left in RTL layouts) */
1486
+ END = "END"
1487
+ }
1488
+ /** @enumType */
1489
+ type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';
1490
+ declare enum Layout {
1491
+ /** Elements stacked vertically */
1492
+ STACKED = "STACKED",
1493
+ /** Elements arranged horizontally */
1494
+ SIDE_BY_SIDE = "SIDE_BY_SIDE"
1495
+ }
1496
+ /** @enumType */
1497
+ type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';
1498
+ declare enum AppType {
1499
+ PRODUCT = "PRODUCT",
1500
+ EVENT = "EVENT",
1501
+ BOOKING = "BOOKING"
1502
+ }
1503
+ /** @enumType */
1504
+ type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';
1505
+ interface BookingData {
1506
+ /** Booking duration in minutes. */
1507
+ durations?: string | null;
1508
+ }
1509
+ interface EventData {
1510
+ /** Event schedule. */
1511
+ scheduling?: string | null;
1512
+ /** Event location. */
1513
+ location?: string | null;
1514
+ }
1515
+ interface ButtonStyles {
1516
+ /** Text to display on the button. */
1517
+ buttonText?: string | null;
1518
+ /** Border width in pixels. */
1519
+ borderWidth?: number | null;
1520
+ /** Border radius in pixels. */
1521
+ borderRadius?: number | null;
1522
+ /**
1523
+ * Border color as a hexadecimal value.
1524
+ * @format COLOR_HEX
1525
+ */
1526
+ borderColor?: string | null;
1527
+ /**
1528
+ * Text color as a hexadecimal value.
1529
+ * @format COLOR_HEX
1530
+ */
1531
+ textColor?: string | null;
1532
+ /**
1533
+ * Background color as a hexadecimal value.
1534
+ * @format COLOR_HEX
1535
+ */
1536
+ backgroundColor?: string | null;
1537
+ /**
1538
+ * Border color as a hexadecimal value (hover state).
1539
+ * @format COLOR_HEX
1540
+ */
1541
+ borderColorHover?: string | null;
1542
+ /**
1543
+ * Text color as a hexadecimal value (hover state).
1544
+ * @format COLOR_HEX
1545
+ */
1546
+ textColorHover?: string | null;
1547
+ /**
1548
+ * Background color as a hexadecimal value (hover state).
1549
+ * @format COLOR_HEX
1550
+ */
1551
+ backgroundColorHover?: string | null;
1552
+ /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */
1553
+ buttonSize?: string | null;
1554
+ }
1555
+ interface ImageStyles {
1556
+ /** Whether to hide the image. */
1557
+ hideImage?: boolean | null;
1558
+ /** Position of image. Defaults to `START`. */
1559
+ imagePosition?: PositionWithLiterals;
1560
+ /** Aspect ratio for the image. Defaults to `SQUARE`. */
1561
+ aspectRatio?: AspectRatioWithLiterals;
1562
+ /** How the image should be resized. Defaults to `FILL`. */
1563
+ resizing?: ResizingWithLiterals;
1564
+ /**
1565
+ * Image border color as a hexadecimal value.
1566
+ * @format COLOR_HEX
1567
+ */
1568
+ borderColor?: string | null;
1569
+ /** Image border width in pixels. */
1570
+ borderWidth?: number | null;
1571
+ /** Image border radius in pixels. */
1572
+ borderRadius?: number | null;
1573
+ }
1574
+ interface RibbonStyles {
1575
+ /** Text to display on the ribbon. */
1576
+ ribbonText?: string | null;
1577
+ /**
1578
+ * Ribbon background color as a hexadecimal value.
1579
+ * @format COLOR_HEX
1580
+ */
1581
+ backgroundColor?: string | null;
1582
+ /**
1583
+ * Ribbon text color as a hexadecimal value.
1584
+ * @format COLOR_HEX
1585
+ */
1586
+ textColor?: string | null;
1587
+ /**
1588
+ * Ribbon border color as a hexadecimal value.
1589
+ * @format COLOR_HEX
1590
+ */
1591
+ borderColor?: string | null;
1592
+ /** Ribbon border width in pixels. */
1593
+ borderWidth?: number | null;
1594
+ /** Ribbon border radius in pixels. */
1595
+ borderRadius?: number | null;
1596
+ /** Placement of the ribbon. Defaults to `IMAGE`. */
1597
+ ribbonPlacement?: PlacementWithLiterals;
1598
+ }
1599
+ interface CardStyles {
1600
+ /**
1601
+ * Card background color as a hexadecimal value.
1602
+ * @format COLOR_HEX
1603
+ */
1604
+ backgroundColor?: string | null;
1605
+ /**
1606
+ * Card border color as a hexadecimal value.
1607
+ * @format COLOR_HEX
1608
+ */
1609
+ borderColor?: string | null;
1610
+ /** Card border width in pixels. */
1611
+ borderWidth?: number | null;
1612
+ /** Card border radius in pixels. */
1613
+ borderRadius?: number | null;
1614
+ /** Card type. Defaults to `CONTAINED`. */
1615
+ type?: TypeWithLiterals;
1616
+ /** Content alignment. Defaults to `START`. */
1617
+ alignment?: AlignmentWithLiterals;
1618
+ /** Layout for title and price. Defaults to `STACKED`. */
1619
+ titlePriceLayout?: LayoutWithLiterals;
1620
+ /**
1621
+ * Title text color as a hexadecimal value.
1622
+ * @format COLOR_HEX
1623
+ */
1624
+ titleColor?: string | null;
1625
+ /**
1626
+ * Text color as a hexadecimal value.
1627
+ * @format COLOR_HEX
1628
+ */
1629
+ textColor?: string | null;
1630
+ }
1631
+ interface PricingData {
1632
+ /**
1633
+ * Minimum numeric price value as string (e.g., "10.99").
1634
+ * @decimalValue options { maxScale:2 }
1635
+ */
1636
+ valueFrom?: string | null;
1637
+ /**
1638
+ * Maximum numeric price value as string (e.g., "19.99").
1639
+ * @decimalValue options { maxScale:2 }
1640
+ */
1641
+ valueTo?: string | null;
1642
+ /**
1643
+ * Numeric price value as string after discount application (e.g., "15.99").
1644
+ * @decimalValue options { maxScale:2 }
1645
+ */
1646
+ discountedValue?: string | null;
1647
+ /**
1648
+ * Currency of the value in ISO 4217 format (e.g., "USD", "EUR").
1649
+ * @format CURRENCY
1650
+ */
1651
+ currency?: string | null;
1652
+ /**
1653
+ * Pricing plan ID.
1654
+ * @format GUID
1655
+ */
1656
+ pricingPlanId?: string | null;
1657
+ }
1658
+ interface VideoData {
1659
+ /** Styling for the video's container. */
1660
+ containerData?: PluginContainerData;
1661
+ /** Video details. */
1662
+ video?: V1Media;
1663
+ /** Video thumbnail details. */
1664
+ thumbnail?: V1Media;
1665
+ /** Sets whether the video's download button is disabled. Defaults to `false`. */
1666
+ disableDownload?: boolean | null;
1667
+ /** Video title. */
1668
+ title?: string | null;
1669
+ /** Video options. */
1670
+ options?: PlaybackOptions;
1671
+ }
1672
+ interface PlaybackOptions {
1673
+ /** Sets whether the media will automatically start playing. */
1674
+ autoPlay?: boolean | null;
1675
+ /** Sets whether media's will be looped. */
1676
+ playInLoop?: boolean | null;
1677
+ /** Sets whether media's controls will be shown. */
1678
+ showControls?: boolean | null;
1679
+ }
1680
+ interface EmbedData {
1681
+ /** Styling for the oEmbed node's container. */
1682
+ containerData?: PluginContainerData;
1683
+ /** An [oEmbed](https://www.oembed.com) object. */
1684
+ oembed?: Oembed;
1685
+ /** Origin asset source. */
1686
+ src?: string | null;
1687
+ }
1688
+ interface Oembed {
1689
+ /** The resource type. */
1690
+ type?: string | null;
1691
+ /** The width of the resource specified in the `url` property in pixels. */
1692
+ width?: number | null;
1693
+ /** The height of the resource specified in the `url` property in pixels. */
1694
+ height?: number | null;
1695
+ /** Resource title. */
1696
+ title?: string | null;
1697
+ /** The source URL for the resource. */
1698
+ url?: string | null;
1699
+ /** HTML for embedding a video player. The HTML should have no padding or margins. */
1700
+ html?: string | null;
1701
+ /** The name of the author or owner of the resource. */
1702
+ authorName?: string | null;
1703
+ /** The URL for the author or owner of the resource. */
1704
+ authorUrl?: string | null;
1705
+ /** The name of the resource provider. */
1706
+ providerName?: string | null;
1707
+ /** The URL for the resource provider. */
1708
+ providerUrl?: string | null;
1709
+ /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */
1710
+ thumbnailUrl?: string | null;
1711
+ /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */
1712
+ thumbnailWidth?: string | null;
1713
+ /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */
1714
+ thumbnailHeight?: string | null;
1715
+ /** The URL for an embedded viedo. */
1716
+ videoUrl?: string | null;
1717
+ /** The oEmbed version number. This value must be `1.0`. */
1718
+ version?: string | null;
1719
+ }
1720
+ interface CollapsibleListData {
1721
+ /** Styling for the collapsible list's container. */
1722
+ containerData?: PluginContainerData;
1723
+ /** If `true`, only one item can be expanded at a time. Defaults to `false`. */
1724
+ expandOnlyOne?: boolean | null;
1725
+ /** Sets which items are expanded when the page loads. */
1726
+ initialExpandedItems?: InitialExpandedItemsWithLiterals;
1727
+ /** The direction of the text in the list. Either left-to-right or right-to-left. */
1728
+ direction?: DirectionWithLiterals;
1729
+ /** If `true`, The collapsible item will appear in search results as an FAQ. */
1730
+ isQapageData?: boolean | null;
1731
+ }
1732
+ declare enum InitialExpandedItems {
1733
+ /** First item will be expended initally */
1734
+ FIRST = "FIRST",
1735
+ /** All items will expended initally */
1736
+ ALL = "ALL",
1737
+ /** All items collapsed initally */
1738
+ NONE = "NONE"
1739
+ }
1740
+ /** @enumType */
1741
+ type InitialExpandedItemsWithLiterals = InitialExpandedItems | 'FIRST' | 'ALL' | 'NONE';
1742
+ declare enum Direction {
1743
+ /** Left-to-right */
1744
+ LTR = "LTR",
1745
+ /** Right-to-left */
1746
+ RTL = "RTL"
1747
+ }
1748
+ /** @enumType */
1749
+ type DirectionWithLiterals = Direction | 'LTR' | 'RTL';
1750
+ interface TableData {
1751
+ /** Styling for the table's container. */
1752
+ containerData?: PluginContainerData;
1753
+ /** The table's dimensions. */
1754
+ dimensions?: Dimensions;
1755
+ /**
1756
+ * Deprecated: Use `rowHeader` and `columnHeader` instead.
1757
+ * @deprecated
1758
+ */
1759
+ header?: boolean | null;
1760
+ /** Sets whether the table's first row is a header. Defaults to `false`. */
1761
+ rowHeader?: boolean | null;
1762
+ /** Sets whether the table's first column is a header. Defaults to `false`. */
1763
+ columnHeader?: boolean | null;
1764
+ }
1765
+ interface Dimensions {
1766
+ /** An array representing relative width of each column in relation to the other columns. */
1767
+ colsWidthRatio?: number[];
1768
+ /** An array representing the height of each row in pixels. */
1769
+ rowsHeight?: number[];
1770
+ /** An array representing the minimum width of each column in pixels. */
1771
+ colsMinWidth?: number[];
1772
+ }
1773
+ interface TableCellData {
1774
+ /** Styling for the cell's background color and text alignment. */
1775
+ cellStyle?: CellStyle;
1776
+ /** The cell's border colors. */
1777
+ borderColors?: BorderColors;
1778
+ }
1779
+ declare enum VerticalAlignment {
1780
+ /** Top alignment */
1781
+ TOP = "TOP",
1782
+ /** Middle alignment */
1783
+ MIDDLE = "MIDDLE",
1784
+ /** Bottom alignment */
1785
+ BOTTOM = "BOTTOM"
1786
+ }
1787
+ /** @enumType */
1788
+ type VerticalAlignmentWithLiterals = VerticalAlignment | 'TOP' | 'MIDDLE' | 'BOTTOM';
1789
+ interface CellStyle {
1790
+ /** Vertical alignment for the cell's text. */
1791
+ verticalAlignment?: VerticalAlignmentWithLiterals;
1792
+ /**
1793
+ * Cell background color as a hexadecimal value.
1794
+ * @format COLOR_HEX
1795
+ */
1796
+ backgroundColor?: string | null;
1797
+ }
1798
+ interface BorderColors {
1799
+ /**
1800
+ * Left border color as a hexadecimal value.
1801
+ * @format COLOR_HEX
1802
+ */
1803
+ left?: string | null;
1804
+ /**
1805
+ * Right border color as a hexadecimal value.
1806
+ * @format COLOR_HEX
1807
+ */
1808
+ right?: string | null;
1809
+ /**
1810
+ * Top border color as a hexadecimal value.
1811
+ * @format COLOR_HEX
1812
+ */
1813
+ top?: string | null;
1814
+ /**
1815
+ * Bottom border color as a hexadecimal value.
1816
+ * @format COLOR_HEX
1817
+ */
1818
+ bottom?: string | null;
1819
+ }
1820
+ /**
1821
+ * `NullValue` is a singleton enumeration to represent the null value for the
1822
+ * `Value` type union.
1823
+ *
1824
+ * The JSON representation for `NullValue` is JSON `null`.
1825
+ */
1826
+ declare enum NullValue {
1827
+ /** Null value. */
1828
+ NULL_VALUE = "NULL_VALUE"
1829
+ }
1830
+ /** @enumType */
1831
+ type NullValueWithLiterals = NullValue | 'NULL_VALUE';
1832
+ /**
1833
+ * `ListValue` is a wrapper around a repeated field of values.
1834
+ *
1835
+ * The JSON representation for `ListValue` is JSON array.
1836
+ */
1837
+ interface ListValue {
1838
+ /** Repeated field of dynamically typed values. */
1839
+ values?: any[];
1840
+ }
1841
+ interface AudioData {
1842
+ /** Styling for the audio node's container. */
1843
+ containerData?: PluginContainerData;
1844
+ /** Audio file details. */
1845
+ audio?: V1Media;
1846
+ /** Sets whether the audio node's download button is disabled. Defaults to `false`. */
1847
+ disableDownload?: boolean | null;
1848
+ /** Cover image. */
1849
+ coverImage?: V1Media;
1850
+ /** Track name. */
1851
+ name?: string | null;
1852
+ /** Author name. */
1853
+ authorName?: string | null;
1854
+ /** An HTML version of the audio node. */
1855
+ html?: string | null;
1856
+ }
1857
+ interface OrderedListData {
1858
+ /** Indentation level from 0-4. */
1859
+ indentation?: number;
1860
+ /** Offset level from 0-4. */
1861
+ offset?: number | null;
1862
+ /** List start number. */
1863
+ start?: number | null;
1864
+ }
1865
+ interface BulletedListData {
1866
+ /** Indentation level from 0-4. */
1867
+ indentation?: number;
1868
+ /** Offset level from 0-4. */
1869
+ offset?: number | null;
1870
+ }
1871
+ interface BlockquoteData {
1872
+ /** Indentation level from 1-4. */
1873
+ indentation?: number;
1874
+ }
1875
+ interface CaptionData {
1876
+ textStyle?: TextStyle;
1877
+ }
1878
+ interface LayoutCellData {
1879
+ /** Size of the cell in 12 columns grid. */
1880
+ colSpan?: number | null;
1881
+ }
1882
+ interface Metadata {
1883
+ /** Schema version. */
1884
+ version?: number;
1885
+ /**
1886
+ * When the object was created.
1887
+ * @readonly
1888
+ * @deprecated
1889
+ */
1890
+ createdTimestamp?: Date | null;
1891
+ /**
1892
+ * When the object was most recently updated.
1893
+ * @deprecated
1894
+ */
1895
+ updatedTimestamp?: Date | null;
1896
+ /** Object ID. */
1897
+ _id?: string | null;
1898
+ }
1899
+ interface DocumentStyle {
1900
+ /** Styling for H1 nodes. */
1901
+ headerOne?: TextNodeStyle;
1902
+ /** Styling for H2 nodes. */
1903
+ headerTwo?: TextNodeStyle;
1904
+ /** Styling for H3 nodes. */
1905
+ headerThree?: TextNodeStyle;
1906
+ /** Styling for H4 nodes. */
1907
+ headerFour?: TextNodeStyle;
1908
+ /** Styling for H5 nodes. */
1909
+ headerFive?: TextNodeStyle;
1910
+ /** Styling for H6 nodes. */
1911
+ headerSix?: TextNodeStyle;
1912
+ /** Styling for paragraph nodes. */
1913
+ paragraph?: TextNodeStyle;
1914
+ /** Styling for block quote nodes. */
1915
+ blockquote?: TextNodeStyle;
1916
+ /** Styling for code block nodes. */
1917
+ codeBlock?: TextNodeStyle;
1918
+ }
1919
+ interface TextNodeStyle {
1920
+ /** The decorations to apply to the node. */
1921
+ decorations?: Decoration[];
1922
+ /** Padding and background color for the node. */
1923
+ nodeStyle?: NodeStyle;
1924
+ /** Line height for text in the node. */
1925
+ lineHeight?: string | null;
1926
+ }
1927
+ interface Media {
1928
+ /**
1929
+ * Main media (image, video, etc.) associated with this product.
1930
+ * @readonly
1931
+ */
1932
+ main?: ProductMedia;
1933
+ /**
1934
+ * All media items.
1935
+ * > **Note:** Returned only when you pass `"MEDIA_ITEMS_INFO"` to the `fields` array in Products API requests.
1936
+ */
1937
+ itemsInfo?: MediaItemsInfo;
1938
+ }
1939
+ interface ProductMedia extends ProductMediaSetByOneOf, ProductMediaMediaOneOf {
1940
+ /**
1941
+ * Set media by ID of an existing file in Wix Media Manager.
1942
+ * @minLength 1
1943
+ * @maxLength 200
1944
+ */
1945
+ _id?: string;
1946
+ /**
1947
+ * Set media using an external media URL.
1948
+ * @format WEB_URL
1949
+ */
1950
+ url?: string;
1951
+ /**
1952
+ * Product image.
1953
+ * @readonly
1954
+ */
1955
+ image?: string;
1956
+ /**
1957
+ * Product video.
1958
+ * @readonly
1959
+ */
1960
+ video?: string;
1961
+ /**
1962
+ * Image alt text.
1963
+ * @minLength 1
1964
+ * @maxLength 1000
1965
+ */
1966
+ altText?: string | null;
1967
+ /**
1968
+ * Media display name.
1969
+ * Allows to override the default media name. Can be passed only when `setBy: url`.
1970
+ * @maxLength 80
1971
+ */
1972
+ displayName?: string | null;
1973
+ /**
1974
+ * Media type.
1975
+ * @readonly
1976
+ */
1977
+ mediaType?: MediaTypeWithLiterals;
1978
+ /**
1979
+ * Media thumbnail.
1980
+ * > **Note:** Returned only when you pass `"THUMBNAIL"` to the `fields` array in Products API requests.
1981
+ */
1982
+ thumbnail?: Thumbnail;
1983
+ /**
1984
+ * ID used to upload media to Wix Media Manager.
1985
+ * @readonly
1986
+ * @format GUID
1987
+ */
1988
+ uploadId?: string;
1989
+ }
1990
+ /** @oneof */
1991
+ interface ProductMediaSetByOneOf {
1992
+ /**
1993
+ * Set media by ID of an existing file in Wix Media Manager.
1994
+ * @minLength 1
1995
+ * @maxLength 200
1996
+ */
1997
+ _id?: string;
1998
+ /**
1999
+ * Set media using an external media URL.
2000
+ * @format WEB_URL
2001
+ */
2002
+ url?: string;
2003
+ }
2004
+ /** @oneof */
2005
+ interface ProductMediaMediaOneOf {
2006
+ /**
2007
+ * Product image.
2008
+ * @readonly
2009
+ */
2010
+ image?: string;
2011
+ /**
2012
+ * Product video.
2013
+ * @readonly
2014
+ */
2015
+ video?: string;
2016
+ }
2017
+ interface VideoResolution {
2018
+ /**
2019
+ * Video URL.
2020
+ * @format WEB_URL
2021
+ */
2022
+ url?: string;
2023
+ /** Video height. */
2024
+ height?: number;
2025
+ /** Video width. */
2026
+ width?: number;
2027
+ /**
2028
+ * Video format for example, mp4, hls.
2029
+ * @maxLength 200
2030
+ */
2031
+ format?: string;
2032
+ }
2033
+ declare enum MediaType {
2034
+ UNKNOWN_MEDIA_TYPE = "UNKNOWN_MEDIA_TYPE",
2035
+ /** Image media type. */
2036
+ IMAGE = "IMAGE",
2037
+ /** Video media type. */
2038
+ VIDEO = "VIDEO"
2039
+ }
2040
+ /** @enumType */
2041
+ type MediaTypeWithLiterals = MediaType | 'UNKNOWN_MEDIA_TYPE' | 'IMAGE' | 'VIDEO';
2042
+ interface Thumbnail {
2043
+ /**
2044
+ * Thumbnail url.
2045
+ * @format WEB_URL
2046
+ */
2047
+ url?: string;
2048
+ /** Thumbnail height. */
2049
+ height?: number;
2050
+ /** Thumbnail width. */
2051
+ width?: number;
2052
+ /**
2053
+ * Thumbnail alt text.
2054
+ * @minLength 1
2055
+ * @maxLength 1000
2056
+ */
2057
+ altText?: string | null;
2058
+ }
2059
+ interface MediaItemsInfo {
2060
+ /**
2061
+ * All media items (images, videos etc) associated with this product.
2062
+ * @maxSize 15
2063
+ */
2064
+ items?: ProductMedia[];
2065
+ }
2066
+ /**
2067
+ * 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.
2068
+ * The search engines use this information for ranking purposes, or to display snippets in the search results.
2069
+ * 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.
2070
+ */
2071
+ interface SeoSchema {
2072
+ /** SEO tag information. */
2073
+ tags?: Tag[];
2074
+ /** SEO general settings. */
2075
+ settings?: Settings;
2076
+ }
2077
+ interface Keyword {
2078
+ /** Keyword value. */
2079
+ term?: string;
2080
+ /** Whether the keyword is the main focus keyword. */
2081
+ isMain?: boolean;
2082
+ /**
2083
+ * The source that added the keyword terms to the SEO settings.
2084
+ * @maxLength 1000
2085
+ */
2086
+ origin?: string | null;
2087
+ }
2088
+ interface Tag {
2089
+ /**
2090
+ * SEO tag type.
2091
+ *
2092
+ *
2093
+ * Supported values: `title`, `meta`, `script`, `link`.
2094
+ */
2095
+ type?: string;
2096
+ /**
2097
+ * A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
2098
+ * For example: `{"name": "description", "content": "the description itself"}`.
2099
+ */
2100
+ props?: Record<string, any> | null;
2101
+ /** SEO tag metadata. For example, `{"height": 300, "width": 240}`. */
2102
+ meta?: Record<string, any> | null;
2103
+ /** SEO tag inner content. For example, `<title> inner content </title>`. */
2104
+ children?: string;
2105
+ /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */
2106
+ custom?: boolean;
2107
+ /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */
2108
+ disabled?: boolean;
2109
+ }
2110
+ interface Settings {
2111
+ /**
2112
+ * 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.
2113
+ *
2114
+ *
2115
+ * Default: `false` (automatical redirect is enabled).
2116
+ */
2117
+ preventAutoRedirect?: boolean;
2118
+ /**
2119
+ * User-selected keyword terms for a specific page.
2120
+ * @maxSize 5
2121
+ */
2122
+ keywords?: Keyword[];
2123
+ }
2124
+ interface ConnectedOption extends ConnectedOptionOptionSettingsOneOf {
2125
+ /** Choices settings. */
2126
+ choicesSettings?: ChoicesSettings;
2127
+ /**
2128
+ * ID of a customization with `customizationType: PRODUCT_OPTION`.
2129
+ * @minLength 1
2130
+ * @maxLength 36
2131
+ */
2132
+ _id?: string | null;
2133
+ /**
2134
+ * Option name.
2135
+ * @minLength 1
2136
+ * @maxLength 50
2137
+ */
2138
+ name?: string | null;
2139
+ /** Option render type. */
2140
+ optionRenderType?: ProductOptionRenderTypeWithLiterals;
2141
+ }
2142
+ /** @oneof */
2143
+ interface ConnectedOptionOptionSettingsOneOf {
2144
+ /** Choices settings. */
2145
+ choicesSettings?: ChoicesSettings;
2146
+ }
2147
+ declare enum ProductOptionRenderType {
2148
+ /** Not implemented. */
2149
+ UNKNOWN_OPTION_RENDER_TYPE = "UNKNOWN_OPTION_RENDER_TYPE",
2150
+ /** Text choices. */
2151
+ TEXT_CHOICES = "TEXT_CHOICES",
2152
+ /** Swatch choices. */
2153
+ SWATCH_CHOICES = "SWATCH_CHOICES"
2154
+ }
2155
+ /** @enumType */
2156
+ type ProductOptionRenderTypeWithLiterals = ProductOptionRenderType | 'UNKNOWN_OPTION_RENDER_TYPE' | 'TEXT_CHOICES' | 'SWATCH_CHOICES';
2157
+ interface ChoicesSettings {
2158
+ /**
2159
+ * List of available choices for the option.
2160
+ * @minSize 1
2161
+ * @maxSize 100
2162
+ * @immutable
2163
+ */
2164
+ choices?: ConnectedOptionChoice[];
2165
+ }
2166
+ interface ConnectedOptionChoice extends ConnectedOptionChoiceValueOneOf {
2167
+ /**
2168
+ * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).
2169
+ * @minLength 3
2170
+ * @maxLength 20
2171
+ */
2172
+ colorCode?: string;
2173
+ /**
2174
+ * The id of the choice.
2175
+ * @format GUID
2176
+ */
2177
+ choiceId?: string | null;
2178
+ /**
2179
+ * Product media overrides. When not empty only these images will be shown when such choices selected by customer. Otherwise all images of product.
2180
+ * When several choices from different options selected only media filter present in `media_overrides` of ALL choices will be shown.
2181
+ * For example if Color:red has images 1,2,3 and Material:Silk has images 2,3,5 then only images 2,3 will be shown when both of them selected.
2182
+ * @maxSize 100
2183
+ */
2184
+ linkedMedia?: ProductMedia[];
2185
+ /** The type of this choice. */
2186
+ choiceType?: ChoiceTypeWithLiterals;
2187
+ /**
2188
+ * Choice name.
2189
+ * @minLength 1
2190
+ * @maxLength 50
2191
+ */
2192
+ name?: string | null;
2193
+ /**
2194
+ * A flag that indicates if at least one variant with this choice is in stock in the default store's location.
2195
+ * For example, a product with 'Color' and 'Size' options with variants: [Blue, Small] which is out of stock and [Red Large] which is in stock. For choice 'Blue' ths flag will be 'false' and for 'Red' the flag will be true
2196
+ * @readonly
2197
+ */
2198
+ inStock?: boolean;
2199
+ /**
2200
+ * Whether at least one variant with this choice is visible.
2201
+ *
2202
+ * Default: `false`
2203
+ * @readonly
2204
+ */
2205
+ visible?: boolean;
2206
+ }
2207
+ /** @oneof */
2208
+ interface ConnectedOptionChoiceValueOneOf {
2209
+ /**
2210
+ * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).
2211
+ * @minLength 3
2212
+ * @maxLength 20
2213
+ */
2214
+ colorCode?: string;
2215
+ }
2216
+ declare enum ChoiceType {
2217
+ UNKNOWN_CHOICE_TYPE = "UNKNOWN_CHOICE_TYPE",
2218
+ /** Text choice. */
2219
+ CHOICE_TEXT = "CHOICE_TEXT",
2220
+ /** Single color choice. */
2221
+ ONE_COLOR = "ONE_COLOR",
2222
+ /** Multiple colors choice. */
2223
+ MULTIPLE_COLORS = "MULTIPLE_COLORS",
2224
+ /** Image choice. */
2225
+ IMAGE = "IMAGE"
2226
+ }
2227
+ /** @enumType */
2228
+ type ChoiceTypeWithLiterals = ChoiceType | 'UNKNOWN_CHOICE_TYPE' | 'CHOICE_TEXT' | 'ONE_COLOR' | 'MULTIPLE_COLORS' | 'IMAGE';
2229
+ interface MultipleColors {
2230
+ /**
2231
+ * List of color codes.
2232
+ * @minLength 3
2233
+ * @maxLength 20
2234
+ * @minSize 2
2235
+ * @maxSize 2
2236
+ */
2237
+ colorCodes?: string[];
2238
+ }
2239
+ interface ConnectedModifier extends ConnectedModifierModifierSettingsOneOf {
2240
+ /** Free text modifier settings. */
2241
+ freeTextSettings?: FreeTextSettings;
2242
+ /** Choice settings. */
2243
+ choicesSettings?: ModifierChoicesSettings;
2244
+ /**
2245
+ * ID of a customization with `customizationType: MODIFIER`.
2246
+ * @minLength 1
2247
+ * @maxLength 36
2248
+ */
2249
+ _id?: string | null;
2250
+ /**
2251
+ * Modifier title.
2252
+ * @minLength 1
2253
+ * @maxLength 50
2254
+ */
2255
+ name?: string | null;
2256
+ /** Modifier render type. */
2257
+ modifierRenderType?: ModifierRenderTypeWithLiterals;
2258
+ /** Whether customer input is required for this modifier. */
2259
+ mandatory?: boolean;
2260
+ }
2261
+ /** @oneof */
2262
+ interface ConnectedModifierModifierSettingsOneOf {
2263
+ /** Free text modifier settings. */
2264
+ freeTextSettings?: FreeTextSettings;
2265
+ /** Choice settings. */
2266
+ choicesSettings?: ModifierChoicesSettings;
2267
+ }
2268
+ declare enum ModifierRenderType {
2269
+ /** Not implemented. */
2270
+ UNKNOWN_MODIFIER_RENDER_TYPE = "UNKNOWN_MODIFIER_RENDER_TYPE",
2271
+ /** Free text. */
2272
+ FREE_TEXT = "FREE_TEXT",
2273
+ /** Text choices. */
2274
+ TEXT_CHOICES = "TEXT_CHOICES",
2275
+ /** Swatch choices. */
2276
+ SWATCH_CHOICES = "SWATCH_CHOICES"
2277
+ }
2278
+ /** @enumType */
2279
+ type ModifierRenderTypeWithLiterals = ModifierRenderType | 'UNKNOWN_MODIFIER_RENDER_TYPE' | 'FREE_TEXT' | 'TEXT_CHOICES' | 'SWATCH_CHOICES';
2280
+ interface FreeTextSettings {
2281
+ /** Minimum number of characters. */
2282
+ minCharCount?: number;
2283
+ /**
2284
+ * Maximum number of characters.
2285
+ * @max 500
2286
+ */
2287
+ maxCharCount?: number;
2288
+ /**
2289
+ * Default amount to be added to the product's price.
2290
+ * @decimalValue options { gte:0, lte:999999999, maxScale:3 }
2291
+ */
2292
+ defaultAddedPrice?: string | null;
2293
+ /**
2294
+ * Title of the text to be input by the customer.
2295
+ * @minLength 1
2296
+ * @maxLength 150
2297
+ */
2298
+ title?: string;
2299
+ }
2300
+ interface ModifierChoicesSettings {
2301
+ /**
2302
+ * List of modifier choices.
2303
+ * @minSize 1
2304
+ * @maxSize 100
2305
+ * @immutable
2306
+ */
2307
+ choices?: ConnectedModifierChoice[];
2308
+ }
2309
+ interface ConnectedModifierChoice extends ConnectedModifierChoiceValueOneOf {
2310
+ /**
2311
+ * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).
2312
+ * @minLength 3
2313
+ * @maxLength 20
2314
+ */
2315
+ colorCode?: string;
2316
+ /**
2317
+ * Choice ID.
2318
+ * @format GUID
2319
+ */
2320
+ choiceId?: string | null;
2321
+ /**
2322
+ * Product media.
2323
+ * @maxSize 100
2324
+ */
2325
+ linkedMedia?: ProductMedia[];
2326
+ /** Choice type. */
2327
+ choiceType?: ChoiceTypeWithLiterals;
2328
+ /**
2329
+ * Modifier key. Used for eCommerce integration.
2330
+ * @readonly
2331
+ * @minLength 1
2332
+ * @maxLength 50
2333
+ */
2334
+ key?: string;
2335
+ /**
2336
+ * Choice name.
2337
+ * @minLength 1
2338
+ * @maxLength 50
2339
+ */
2340
+ name?: string | null;
2341
+ /**
2342
+ * Added price.
2343
+ * @decimalValue options { gte:0, lte:999999999, maxScale:3 }
2344
+ */
2345
+ addedPrice?: string | null;
2346
+ }
2347
+ /** @oneof */
2348
+ interface ConnectedModifierChoiceValueOneOf {
2349
+ /**
2350
+ * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).
2351
+ * @minLength 3
2352
+ * @maxLength 20
2353
+ */
2354
+ colorCode?: string;
2355
+ }
2356
+ interface Brand {
2357
+ /**
2358
+ * Brand ID.
2359
+ * @format GUID
2360
+ */
2361
+ _id?: string | null;
2362
+ /**
2363
+ * Brand name.
2364
+ * @maxLength 50
2365
+ */
2366
+ name?: string | null;
2367
+ }
2368
+ interface InfoSection {
2369
+ /**
2370
+ * Info section ID.
2371
+ * @format GUID
2372
+ */
2373
+ _id?: string | null;
2374
+ /**
2375
+ * Info section unique name.
2376
+ * > **Note:** Returned only when you pass `"INFO_SECTION"` to the `fields` array in Products API requests.
2377
+ * @maxLength 100
2378
+ */
2379
+ uniqueName?: string | null;
2380
+ /**
2381
+ * Info section title.
2382
+ * > **Note:** Returned only when you pass `"INFO_SECTION"` to the `fields` array in Products API requests.
2383
+ * @minLength 1
2384
+ * @maxLength 50
2385
+ * @readonly
2386
+ */
2387
+ title?: string | null;
2388
+ /**
2389
+ * Info section description using rich content.
2390
+ * > **Note:** Returned only when you pass `"INFO_SECTION_DESCRIPTION"` to the `fields` array in Products API requests.
2391
+ *
2392
+ * <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">
2393
+ * <a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>
2394
+ * </widget>
2395
+ * @readonly
2396
+ */
2397
+ description?: RichContent;
2398
+ /**
2399
+ * Info section description in HTML.
2400
+ *
2401
+ * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.
2402
+ * `plainDescription` is ignored when value is also passed to the `description` field.
2403
+ * > **Note:** Returned only when you pass `"INFO_SECTION_PLAIN_DESCRIPTION"` to the `fields` array in Products API requests.
2404
+ * @maxLength 16000
2405
+ */
2406
+ plainDescription?: string | null;
2407
+ }
2408
+ interface Ribbon {
2409
+ /**
2410
+ * Ribbon ID.
2411
+ * @minLength 1
2412
+ * @maxLength 36
2413
+ */
2414
+ _id?: string | null;
2415
+ /**
2416
+ * Ribbon name.
2417
+ * @maxLength 30
2418
+ */
2419
+ name?: string | null;
2420
+ }
2421
+ declare enum ProductType {
2422
+ /** Not implemented. */
2423
+ UNKNOWN_PRODUCT_TYPE = "UNKNOWN_PRODUCT_TYPE",
2424
+ /** Physical product. */
2425
+ PHYSICAL = "PHYSICAL",
2426
+ /** Digital product. */
2427
+ DIGITAL = "DIGITAL"
2428
+ }
2429
+ /** @enumType */
2430
+ type ProductTypeWithLiterals = ProductType | 'UNKNOWN_PRODUCT_TYPE' | 'PHYSICAL' | 'DIGITAL';
2431
+ interface PhysicalProperties {
2432
+ /**
2433
+ * Price per unit settings.
2434
+ * > **Note:** Use this field only when relevant. For example, for products that are sold by weight, volume, or length.
2435
+ */
2436
+ pricePerUnit?: PricePerUnitSettings;
2437
+ /**
2438
+ * Fulfiller ID.
2439
+ * @format GUID
2440
+ */
2441
+ fulfillerId?: string | null;
2442
+ /**
2443
+ * Product shipping weight range - Calculated from the lightest and heaviest variant shipping weights.
2444
+ * @readonly
2445
+ */
2446
+ shippingWeightRange?: WeightRange;
2447
+ /**
2448
+ * Product price per unit range. The minimum and maximum price per unit of all the variants.
2449
+ * @readonly
2450
+ */
2451
+ pricePerUnitRange?: PricePerUnitRange;
2452
+ /**
2453
+ * Weight measurement unit.
2454
+ * > **Note:** Returned only when you pass `"WEIGHT_MEASUREMENT_UNIT_INFO"` to the `fields` array in Products API requests.
2455
+ * @readonly
2456
+ */
2457
+ weightMeasurementUnitInfo?: WeightMeasurementUnitInfo;
2458
+ /**
2459
+ * Delivery profile ID.
2460
+ * @format GUID
2461
+ */
2462
+ deliveryProfileId?: string | null;
2463
+ }
2464
+ interface PricePerUnitSettings {
2465
+ /**
2466
+ * Quantity.
2467
+ * For example, to define price per per 100 grams, set this field to `100`.
2468
+ * @min 0.01
2469
+ * @max 999999999.99
2470
+ */
2471
+ quantity?: number;
2472
+ /**
2473
+ * Measurement unit.
2474
+ * For example, to define price per 100 grams, set this field to "G".
2475
+ */
2476
+ measurementUnit?: MeasurementUnitWithLiterals;
2477
+ }
2478
+ declare enum MeasurementUnit {
2479
+ UNSPECIFIED = "UNSPECIFIED",
2480
+ ML = "ML",
2481
+ CL = "CL",
2482
+ L = "L",
2483
+ CBM = "CBM",
2484
+ MG = "MG",
2485
+ G = "G",
2486
+ KG = "KG",
2487
+ MM = "MM",
2488
+ CM = "CM",
2489
+ M = "M",
2490
+ SQM = "SQM",
2491
+ OZ = "OZ",
2492
+ LB = "LB",
2493
+ FLOZ = "FLOZ",
2494
+ PT = "PT",
2495
+ QT = "QT",
2496
+ GAL = "GAL",
2497
+ IN = "IN",
2498
+ FT = "FT",
2499
+ YD = "YD",
2500
+ SQFT = "SQFT"
2501
+ }
2502
+ /** @enumType */
2503
+ type MeasurementUnitWithLiterals = MeasurementUnit | 'UNSPECIFIED' | 'ML' | 'CL' | 'L' | 'CBM' | 'MG' | 'G' | 'KG' | 'MM' | 'CM' | 'M' | 'SQM' | 'OZ' | 'LB' | 'FLOZ' | 'PT' | 'QT' | 'GAL' | 'IN' | 'FT' | 'YD' | 'SQFT';
2504
+ interface WeightRange {
2505
+ /**
2506
+ * Minimum weight across all variants associated with this product.
2507
+ * @max 999999999.99
2508
+ */
2509
+ minValue?: number;
2510
+ /**
2511
+ * Maximum weight across all variants associated with this product.
2512
+ * @max 999999999.99
2513
+ */
2514
+ maxValue?: number;
2515
+ }
2516
+ interface PricePerUnitRange {
2517
+ /** Minimum price per unit across all variants. */
2518
+ minValue?: PricePerUnitRangePricePerUnit;
2519
+ /** Maximum price per unit across all variants. */
2520
+ maxValue?: PricePerUnitRangePricePerUnit;
2521
+ }
2522
+ interface PricePerUnitRangePricePerUnit {
2523
+ /**
2524
+ * Calculated value of price per unit. Takes into account pricePerUnit settings of product and variants and price of variants.
2525
+ * 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$).
2526
+ * @readonly
2527
+ * @decimalValue options { gte:0, lte:999999999, maxScale:3 }
2528
+ */
2529
+ value?: string;
2530
+ /**
2531
+ * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg.
2532
+ * > **Note:** This field is returned by the API only when you pass `fields: "CURRENCY"` in a request.
2533
+ * @readonly
2534
+ * @maxLength 100
2535
+ */
2536
+ description?: string | null;
2537
+ }
2538
+ interface WeightMeasurementUnitInfo {
2539
+ /**
2540
+ * Weight measurement unit.
2541
+ * @readonly
2542
+ */
2543
+ weightMeasurementUnit?: WeightUnitWithLiterals;
2544
+ }
2545
+ declare enum WeightUnit {
2546
+ /** Weight unit can't be classified due to an error. */
2547
+ UNSPECIFIED_WEIGHT_UNIT = "UNSPECIFIED_WEIGHT_UNIT",
2548
+ /** Kilograms. */
2549
+ KG = "KG",
2550
+ /** Pounds. */
2551
+ LB = "LB"
2552
+ }
2553
+ /** @enumType */
2554
+ type WeightUnitWithLiterals = WeightUnit | 'UNSPECIFIED_WEIGHT_UNIT' | 'KG' | 'LB';
2555
+ interface VariantsInfo {
2556
+ /**
2557
+ * List of related variants.
2558
+ * Partial update of variants is not supported so on update you must pass all data for all of them.
2559
+ * 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.
2560
+ * @minSize 1
2561
+ * @maxSize 1000
2562
+ */
2563
+ variants?: VariantWithInventory[];
2564
+ }
2565
+ interface VariantWithInventory extends VariantWithInventoryTypedPropertiesOneOf {
2566
+ /** Physical properties. Must be passed when `productType: PHYSICAL` */
2567
+ physicalProperties?: VariantPhysicalProperties;
2568
+ /** Digital properties. Must be passed when `productType: DIGITAL` */
2569
+ digitalProperties?: VariantDigitalProperties;
2570
+ /**
2571
+ * Variant ID.
2572
+ * @format GUID
2573
+ * @immutable
2574
+ */
2575
+ _id?: string | null;
2576
+ /**
2577
+ * Whether the variant is visible to site visitors.
2578
+ *
2579
+ * Default: `true`
2580
+ */
2581
+ visible?: boolean | null;
2582
+ /**
2583
+ * Variant SKU (stock keeping unit).
2584
+ * @minLength 1
2585
+ * @maxLength 40
2586
+ */
2587
+ sku?: string | null;
2588
+ /**
2589
+ * Variant barcode.
2590
+ * @minLength 1
2591
+ * @maxLength 40
2592
+ */
2593
+ barcode?: string | null;
2594
+ /** Variant price. */
2595
+ price?: PriceInfo;
2596
+ /**
2597
+ * Variant revenue details.
2598
+ *
2599
+ * > **Note:** Returned only when the following conditions are met:
2600
+ * > + You pass `"MERCHANT_DATA"` to the `fields` array in Products API requests.
2601
+ * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.
2602
+ */
2603
+ revenueDetails?: RevenueDetails;
2604
+ /** Inventory item of the variant on the default location. */
2605
+ inventoryItem?: InventoryItemComposite;
2606
+ /**
2607
+ * List of choices.
2608
+ * @maxSize 6
2609
+ * @immutable
2610
+ */
2611
+ choices?: OptionChoiceReferences[];
2612
+ }
2613
+ /** @oneof */
2614
+ interface VariantWithInventoryTypedPropertiesOneOf {
2615
+ /** Physical properties. Must be passed when `productType: PHYSICAL` */
2616
+ physicalProperties?: VariantPhysicalProperties;
2617
+ /** Digital properties. Must be passed when `productType: DIGITAL` */
2618
+ digitalProperties?: VariantDigitalProperties;
2619
+ }
2620
+ interface PriceInfo {
2621
+ /** Variant price. Must be greater or equal to 0. */
2622
+ actualPrice?: FixedMonetaryAmount;
2623
+ /** The compare-at-price represents the original price of a product before any discount. It is optional and should only be set if a discount applies. When set, it must be higher than the current price to reflect accurate savings. */
2624
+ compareAtPrice?: FixedMonetaryAmount;
2625
+ }
2626
+ interface FixedMonetaryAmount {
2627
+ /**
2628
+ * Monetary amount. For example, `"3.99"`, or `"-4.99"` for a negative amount.
2629
+ * @decimalValue options { gte:0, lte:999999999, maxScale:3 }
2630
+ */
2631
+ amount?: string;
2632
+ /**
2633
+ * Formatted monetary amount. For example, `"$3.99"`.
2634
+ * > **Note:** Returned only when you pass `"CURRENCY"` to the `fields` array in Products API requests.
2635
+ * @readonly
2636
+ * @maxLength 20
2637
+ */
2638
+ formattedAmount?: string | null;
2639
+ }
2640
+ interface RevenueDetails {
2641
+ /** Item cost. */
2642
+ cost?: FixedMonetaryAmount;
2643
+ /**
2644
+ * Profit. Calculated by reducing `cost` from `discountedPrice`.
2645
+ * @readonly
2646
+ */
2647
+ profit?: FixedMonetaryAmount;
2648
+ /**
2649
+ * Profit Margin. Calculated by dividing `profit` by `discountedPrice`.
2650
+ * The result is rounded to 4 decimal places.
2651
+ * @readonly
2652
+ * @max 1
2653
+ */
2654
+ profitMargin?: number;
2655
+ }
2656
+ interface VariantPhysicalProperties {
2657
+ /**
2658
+ * Variant shipping weight.
2659
+ * product.physicalProperties.shipping_weight_range values are taken from here.
2660
+ * @max 999999999.99
2661
+ */
2662
+ weight?: number | null;
2663
+ /**
2664
+ * Price per unit info, in order to show price per unit on the product page.
2665
+ * For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.
2666
+ * But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.
2667
+ */
2668
+ pricePerUnit?: PricePerUnit;
2669
+ }
2670
+ interface PricePerUnit {
2671
+ /**
2672
+ * Price per unit data for this variant.
2673
+ * `measurementUnit` value must correspond to the measurement unit set on the product.
2674
+ */
2675
+ settings?: PricePerUnitSettings;
2676
+ /**
2677
+ * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, of this variant, and discounted price of variant.
2678
+ * 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$).
2679
+ * @readonly
2680
+ * @decimalValue options { gte:0, lte:999999999, maxScale:3 }
2681
+ */
2682
+ value?: string;
2683
+ /**
2684
+ * Price per unit description.
2685
+ * > **Note:** Returned only when you pass `"CURRENCY"` to the `fields` array in Products API requests.
2686
+ * @readonly
2687
+ * @maxLength 100
2688
+ */
2689
+ description?: string | null;
2690
+ }
2691
+ interface VariantDigitalProperties {
2692
+ /** Digital file which will be downloaded by customer after successful purchase. */
2693
+ digitalFile?: SecuredMedia;
2694
+ }
2695
+ interface SecuredMedia {
2696
+ /**
2697
+ * Media ID in media manager.
2698
+ * @minLength 1
2699
+ * @maxLength 100
2700
+ */
2701
+ _id?: string;
2702
+ /**
2703
+ * Original file name.
2704
+ * @minLength 1
2705
+ * @maxLength 1000
2706
+ * @readonly
2707
+ */
2708
+ fileName?: string;
2709
+ /**
2710
+ * Original file size.
2711
+ * @minLength 1
2712
+ * @maxLength 1000
2713
+ * @readonly
2714
+ * @format DECIMAL_VALUE
2715
+ * @decimalValue options { maxScale:0 }
2716
+ */
2717
+ fileSize?: string | null;
2718
+ /**
2719
+ * File type.
2720
+ * @readonly
2721
+ */
2722
+ fileType?: FileTypeWithLiterals;
2723
+ }
2724
+ declare enum FileType {
2725
+ /** Unspecified file type. */
2726
+ UNSPECIFIED = "UNSPECIFIED",
2727
+ /** Secure picture file. */
2728
+ SECURE_PICTURE = "SECURE_PICTURE",
2729
+ /** Secure video file. */
2730
+ SECURE_VIDEO = "SECURE_VIDEO",
2731
+ /** Secure document file. */
2732
+ SECURE_DOCUMENT = "SECURE_DOCUMENT",
2733
+ /** Secure music file. */
2734
+ SECURE_MUSIC = "SECURE_MUSIC",
2735
+ /** Secure archive file. */
2736
+ SECURE_ARCHIVE = "SECURE_ARCHIVE"
2737
+ }
2738
+ /** @enumType */
2739
+ type FileTypeWithLiterals = FileType | 'UNSPECIFIED' | 'SECURE_PICTURE' | 'SECURE_VIDEO' | 'SECURE_DOCUMENT' | 'SECURE_MUSIC' | 'SECURE_ARCHIVE';
2740
+ interface InventoryItemComposite extends InventoryItemCompositeTrackingMethodOneOf {
2741
+ /**
2742
+ * Tracking method - in stock.
2743
+ *
2744
+ * When set to `true`, the item is available for sale without a quantity limit.
2745
+ */
2746
+ inStock?: boolean;
2747
+ /**
2748
+ * Tracking method - quantity left in inventory.
2749
+ *
2750
+ * Quantity can be negative when decrementing inventory for an order that has already been paid.
2751
+ * @min -99999
2752
+ * @max 99999
2753
+ */
2754
+ quantity?: number;
2755
+ /**
2756
+ * Inventory item ID.
2757
+ * If you want to update existing inventory item you must provide id,
2758
+ * otherwise new inventory item with different id will be created.
2759
+ * @format GUID
2760
+ * @readonly
2761
+ */
2762
+ _id?: string | null;
2763
+ /**
2764
+ * Inventory item revision.
2765
+ * @readonly
2766
+ */
2767
+ revision?: string | null;
2768
+ /** Item preorder info. */
2769
+ preorderInfo?: PreorderInfo;
2770
+ }
2771
+ /** @oneof */
2772
+ interface InventoryItemCompositeTrackingMethodOneOf {
2773
+ /**
2774
+ * Tracking method - in stock.
2775
+ *
2776
+ * When set to `true`, the item is available for sale without a quantity limit.
2777
+ */
2778
+ inStock?: boolean;
2779
+ /**
2780
+ * Tracking method - quantity left in inventory.
2781
+ *
2782
+ * Quantity can be negative when decrementing inventory for an order that has already been paid.
2783
+ * @min -99999
2784
+ * @max 99999
2785
+ */
2786
+ quantity?: number;
2787
+ }
2788
+ interface PreorderInfo {
2789
+ /**
2790
+ * Whether preorder is enabled for the product.
2791
+ *
2792
+ * Default: `false`
2793
+ */
2794
+ enabled?: boolean | null;
2795
+ /**
2796
+ * A message the customer will see when the item is out of stock and preorder is enabled.
2797
+ * @minLength 1
2798
+ * @maxLength 250
2799
+ */
2800
+ message?: string | null;
2801
+ /**
2802
+ * Number of products that can be preordered after stock reaches zero.
2803
+ * Supported only for inventory items with `trackQuantity = true`.
2804
+ *
2805
+ * Default: `100000`
2806
+ * @max 100000
2807
+ */
2808
+ limit?: number | null;
2809
+ /**
2810
+ * Number of times the product was preordered.
2811
+ *
2812
+ * Supported only for inventory items with `trackQuantity = true`.
2813
+ * @readonly
2814
+ * @max 99999
2815
+ */
2816
+ counter?: number | null;
2817
+ /**
2818
+ * Quantity of products that can be preordered.
2819
+ *
2820
+ * Supported only for inventory items with `trackQuantity = true`.
2821
+ * @readonly
2822
+ */
2823
+ quantity?: number | null;
2824
+ }
2825
+ interface OptionChoiceReferences {
2826
+ /** Option and choice IDs. */
2827
+ optionChoiceIds?: OptionChoiceIds;
2828
+ /** Option and choice names. */
2829
+ optionChoiceNames?: OptionChoiceNames;
2830
+ }
2831
+ interface OptionChoiceIds {
2832
+ /**
2833
+ * Option ID.
2834
+ * @minLength 1
2835
+ * @maxLength 36
2836
+ * @immutable
2837
+ */
2838
+ optionId?: string;
2839
+ /**
2840
+ * Choice ID.
2841
+ * @format GUID
2842
+ * @immutable
2843
+ */
2844
+ choiceId?: string;
2845
+ }
2846
+ interface OptionChoiceNames {
2847
+ /**
2848
+ * Option name.
2849
+ * @minLength 1
2850
+ */
2851
+ optionName?: string;
2852
+ /**
2853
+ * Choice name.
2854
+ * @minLength 1
2855
+ */
2856
+ choiceName?: string;
2857
+ /** Render type. */
2858
+ renderType?: ProductOptionRenderTypeWithLiterals;
2859
+ }
2860
+ interface SubscriptionDetails {
2861
+ /**
2862
+ * Subscriptions.
2863
+ * @minSize 1
2864
+ * @maxSize 6
2865
+ */
2866
+ subscriptions?: Subscription[];
2867
+ /**
2868
+ * Whether to allow one-time purchases in addition to subscription-based purchases.
2869
+ *
2870
+ * Default: `false`
2871
+ */
2872
+ allowOneTimePurchases?: boolean | null;
2873
+ }
2874
+ interface Subscription extends SubscriptionCyclesOneOf {
2875
+ /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */
2876
+ autoRenewal?: boolean;
2877
+ /**
2878
+ * Number of billing cycles before subscription ends.
2879
+ * @min 2
2880
+ * @max 999
2881
+ */
2882
+ billingCycles?: number;
2883
+ /**
2884
+ * Subscription ID.
2885
+ * @format GUID
2886
+ * @immutable
2887
+ */
2888
+ _id?: string | null;
2889
+ /**
2890
+ * Subscription title.
2891
+ * @minLength 1
2892
+ * @maxLength 20
2893
+ */
2894
+ title?: string;
2895
+ /**
2896
+ * Subscription description.
2897
+ * @maxLength 60
2898
+ */
2899
+ description?: string | null;
2900
+ /**
2901
+ * Whether the subscription is visible to site visitors.
2902
+ *
2903
+ * Default: `true`
2904
+ */
2905
+ visible?: boolean | null;
2906
+ /**
2907
+ * Frequency of recurring payment.
2908
+ * For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.
2909
+ */
2910
+ frequency?: SubscriptionFrequencyWithLiterals;
2911
+ /**
2912
+ * 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.
2913
+ * @min 1
2914
+ * @max 50
2915
+ */
2916
+ interval?: number | null;
2917
+ /**
2918
+ * Discount info (optional).
2919
+ * For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.
2920
+ */
2921
+ discount?: SubscriptionDiscount;
2922
+ }
2923
+ /** @oneof */
2924
+ interface SubscriptionCyclesOneOf {
2925
+ /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */
2926
+ autoRenewal?: boolean;
2927
+ /**
2928
+ * Number of billing cycles before subscription ends.
2929
+ * @min 2
2930
+ * @max 999
2931
+ */
2932
+ billingCycles?: number;
2933
+ }
2934
+ /** Frequency unit of recurring payment */
2935
+ declare enum SubscriptionFrequency {
2936
+ UNDEFINED = "UNDEFINED",
2937
+ DAY = "DAY",
2938
+ WEEK = "WEEK",
2939
+ MONTH = "MONTH",
2940
+ YEAR = "YEAR"
2941
+ }
2942
+ /** @enumType */
2943
+ type SubscriptionFrequencyWithLiterals = SubscriptionFrequency | 'UNDEFINED' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
2944
+ interface SubscriptionDiscount extends SubscriptionDiscountDiscountOneOf {
2945
+ /**
2946
+ * Amount to discount from the variant discounted_price.
2947
+ * @decimalValue options { gt:0, lte:999999999, maxScale:3 }
2948
+ */
2949
+ amountOff?: string;
2950
+ /**
2951
+ * Percentage to discount from variant discounted_price.
2952
+ * @min 0.1
2953
+ * @max 99.9
2954
+ */
2955
+ percentOff?: number;
2956
+ /** Discount type. */
2957
+ type?: DiscountTypeWithLiterals;
2958
+ }
2959
+ /** @oneof */
2960
+ interface SubscriptionDiscountDiscountOneOf {
2961
+ /**
2962
+ * Amount to discount from the variant discounted_price.
2963
+ * @decimalValue options { gt:0, lte:999999999, maxScale:3 }
2964
+ */
2965
+ amountOff?: string;
2966
+ /**
2967
+ * Percentage to discount from variant discounted_price.
2968
+ * @min 0.1
2969
+ * @max 99.9
2970
+ */
2971
+ percentOff?: number;
2972
+ }
2973
+ declare enum DiscountType {
2974
+ UNKNOWN_DISCOUNT = "UNKNOWN_DISCOUNT",
2975
+ /** Discount by a specific amount. */
2976
+ AMOUNT = "AMOUNT",
2977
+ /** Discount by a percentage. */
2978
+ PERCENT = "PERCENT"
2979
+ }
2980
+ /** @enumType */
2981
+ type DiscountTypeWithLiterals = DiscountType | 'UNKNOWN_DISCOUNT' | 'AMOUNT' | 'PERCENT';
2982
+ interface ExtendedFields {
2983
+ /**
2984
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
2985
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
2986
+ *
2987
+ * You can only access fields for which you have the appropriate permissions.
2988
+ *
2989
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
2990
+ */
2991
+ namespaces?: Record<string, Record<string, any>>;
2992
+ }
2993
+ interface ProductCategoryIdsInfo {
2994
+ /**
2995
+ * List of category IDs to set for the product
2996
+ * @maxSize 1000
2997
+ * @format GUID
2998
+ */
2999
+ categoryIds?: string[];
3000
+ }
3001
+ interface AddProductsToImportResponse {
3002
+ /**
3003
+ * Action results.
3004
+ * @minSize 1
3005
+ * @maxSize 100
3006
+ */
3007
+ results?: AddProductResult[];
3008
+ /** Bulk action metadata. */
3009
+ bulkActionMetadata?: BulkActionMetadata;
3010
+ }
3011
+ interface AddProductResult {
3012
+ /** Item metadata. */
3013
+ itemMetadata?: ItemMetadata;
3014
+ }
3015
+ interface ItemMetadata {
3016
+ /**
3017
+ * The product `handle` as passed in the `AddProductsToImport` request.
3018
+ * @format GUID
3019
+ */
3020
+ _id?: string | null;
3021
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
3022
+ originalIndex?: number;
3023
+ /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */
3024
+ success?: boolean;
3025
+ /** Details about the error in case of failure. */
3026
+ error?: ApplicationError;
3027
+ }
3028
+ interface ApplicationError {
3029
+ /** Error code. */
3030
+ code?: string;
3031
+ /** Description of the error. */
3032
+ description?: string;
3033
+ /** Data related to the error. */
3034
+ data?: Record<string, any> | null;
3035
+ }
3036
+ interface BulkActionMetadata {
3037
+ /** Number of items that were successfully processed. */
3038
+ totalSuccesses?: number;
3039
+ /** Number of items that couldn't be processed. */
3040
+ totalFailures?: number;
3041
+ /** Number of failures without details because detailed failure threshold was exceeded. */
3042
+ undetailedFailures?: number;
3043
+ }
3044
+ interface SubmitCatalogImportRequest {
3045
+ /**
3046
+ * Catalog Import ID.
3047
+ * @format GUID
3048
+ */
3049
+ catalogImportId: string;
3050
+ }
3051
+ interface SubmitCatalogImportResponse {
3052
+ /**
3053
+ * Job ID for async operation tracking. Pass to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/get-async-job) or [List Async Job Items](https://dev.wix.com/docs/rest/business-management/async-job/list-async-job-items) to retrieve details and metadata
3054
+ * @format GUID
3055
+ */
3056
+ jobId?: string;
3057
+ }
3058
+ interface CatalogImportAlreadySubmittedErrorData {
3059
+ /**
3060
+ * Catalog Import ID.
3061
+ * @format GUID
3062
+ */
3063
+ catalogImportId?: string;
3064
+ /**
3065
+ * Async Job ID.
3066
+ * @format GUID
3067
+ */
3068
+ asyncJobId?: string;
3069
+ }
3070
+ interface DomainEvent extends DomainEventBodyOneOf {
3071
+ createdEvent?: EntityCreatedEvent;
3072
+ updatedEvent?: EntityUpdatedEvent;
3073
+ deletedEvent?: EntityDeletedEvent;
3074
+ actionEvent?: ActionEvent;
3075
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
3076
+ _id?: string;
3077
+ /**
3078
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
3079
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
3080
+ */
3081
+ entityFqdn?: string;
3082
+ /**
3083
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
3084
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
3085
+ */
3086
+ slug?: string;
3087
+ /** ID of the entity associated with the event. */
3088
+ entityId?: string;
3089
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
3090
+ eventTime?: Date | null;
3091
+ /**
3092
+ * Whether the event was triggered as a result of a privacy regulation application
3093
+ * (for example, GDPR).
3094
+ */
3095
+ triggeredByAnonymizeRequest?: boolean | null;
3096
+ /** If present, indicates the action that triggered the event. */
3097
+ originatedFrom?: string | null;
3098
+ /**
3099
+ * 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.
3100
+ * 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.
3101
+ */
3102
+ entityEventSequence?: string | null;
3103
+ }
3104
+ /** @oneof */
3105
+ interface DomainEventBodyOneOf {
3106
+ createdEvent?: EntityCreatedEvent;
3107
+ updatedEvent?: EntityUpdatedEvent;
3108
+ deletedEvent?: EntityDeletedEvent;
3109
+ actionEvent?: ActionEvent;
3110
+ }
3111
+ interface EntityCreatedEvent {
3112
+ entity?: string;
3113
+ }
3114
+ interface RestoreInfo {
3115
+ deletedDate?: Date | null;
3116
+ }
3117
+ interface EntityUpdatedEvent {
3118
+ /**
3119
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
3120
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
3121
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
3122
+ */
3123
+ currentEntity?: string;
3124
+ }
3125
+ interface EntityDeletedEvent {
3126
+ /** Entity that was deleted. */
3127
+ deletedEntity?: string | null;
3128
+ }
3129
+ interface ActionEvent {
3130
+ body?: string;
3131
+ }
3132
+ interface MessageEnvelope {
3133
+ /**
3134
+ * App instance ID.
3135
+ * @format GUID
3136
+ */
3137
+ instanceId?: string | null;
3138
+ /**
3139
+ * Event type.
3140
+ * @maxLength 150
3141
+ */
3142
+ eventType?: string;
3143
+ /** The identification type and identity data. */
3144
+ identity?: IdentificationData;
3145
+ /** Stringify payload. */
3146
+ data?: string;
3147
+ }
3148
+ interface IdentificationData extends IdentificationDataIdOneOf {
3149
+ /**
3150
+ * ID of a site visitor that has not logged in to the site.
3151
+ * @format GUID
3152
+ */
3153
+ anonymousVisitorId?: string;
3154
+ /**
3155
+ * ID of a site visitor that has logged in to the site.
3156
+ * @format GUID
3157
+ */
3158
+ memberId?: string;
3159
+ /**
3160
+ * ID of a Wix user (site owner, contributor, etc.).
3161
+ * @format GUID
3162
+ */
3163
+ wixUserId?: string;
3164
+ /**
3165
+ * ID of an app.
3166
+ * @format GUID
3167
+ */
3168
+ appId?: string;
3169
+ /** @readonly */
3170
+ identityType?: WebhookIdentityTypeWithLiterals;
3171
+ }
3172
+ /** @oneof */
3173
+ interface IdentificationDataIdOneOf {
3174
+ /**
3175
+ * ID of a site visitor that has not logged in to the site.
3176
+ * @format GUID
3177
+ */
3178
+ anonymousVisitorId?: string;
3179
+ /**
3180
+ * ID of a site visitor that has logged in to the site.
3181
+ * @format GUID
3182
+ */
3183
+ memberId?: string;
3184
+ /**
3185
+ * ID of a Wix user (site owner, contributor, etc.).
3186
+ * @format GUID
3187
+ */
3188
+ wixUserId?: string;
3189
+ /**
3190
+ * ID of an app.
3191
+ * @format GUID
3192
+ */
3193
+ appId?: string;
3194
+ }
3195
+ declare enum WebhookIdentityType {
3196
+ UNKNOWN = "UNKNOWN",
3197
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
3198
+ MEMBER = "MEMBER",
3199
+ WIX_USER = "WIX_USER",
3200
+ APP = "APP"
3201
+ }
3202
+ /** @enumType */
3203
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
3204
+ /** @docsIgnore */
3205
+ type SubmitCatalogImportApplicationErrors = {
3206
+ code?: 'CATALOG_IMPORT_ALREADY_SUBMITTED';
3207
+ description?: string;
3208
+ data?: CatalogImportAlreadySubmittedErrorData;
3209
+ };
3210
+ /**
3211
+ * Creates a CatalogImport for upsert product operations.
3212
+ *
3213
+ * Returns `catalogImport.id` that can be used in subsequent AddProductsToImport and SubmitCatalogImport calls.
3214
+ * @param catalogImport - CatalogImport to be created.
3215
+ * @public
3216
+ * @documentationMaturity preview
3217
+ * @requiredField catalogImport
3218
+ * @permissionId stores:catalog:v3:catalog_import:create_catalog_import
3219
+ * @applicableIdentity APP
3220
+ * @returns Created CatalogImport.
3221
+ * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.CreateCatalogImport
3222
+ */
3223
+ declare function createCatalogImport(catalogImport: CatalogImport): Promise<CatalogImport>;
3224
+ /**
3225
+ * Add products in bulk to an existing catalog import session.
3226
+ *
3227
+ * Products are stored in temporary storage until SubmitCatalogImport is called.
3228
+ * Can be called multiple times for the same import session.
3229
+ *
3230
+ * > **Notes:**
3231
+ * > + Products are upserted based on the `handle` field
3232
+ * > + Updates don't require passing the current revision number and overwrites existing fields which are specified in `product`
3233
+ * > + Pass `category_ids` to update categories assignments, overwrites existing assignments
3234
+ * @param catalogImportId - Catalog Import ID.
3235
+ * @param products - List of product items to add to the import session.
3236
+ * @public
3237
+ * @documentationMaturity preview
3238
+ * @requiredField catalogImportId
3239
+ * @requiredField products
3240
+ * @requiredField products.product.handle
3241
+ * @permissionId stores:catalog:v3:catalog_import:add_products_to_import
3242
+ * @applicableIdentity APP
3243
+ * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.AddProductsToImport
3244
+ */
3245
+ declare function addProductsToImport(catalogImportId: string, products: NonNullablePaths<ProductItem, `product.handle`, 3>[]): Promise<NonNullablePaths<AddProductsToImportResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
3246
+ /**
3247
+ * Submits all products in the catalog import for processing.
3248
+ * Once called, no more items can be added to this import session.
3249
+ * @param catalogImportId - Catalog Import ID.
3250
+ * @public
3251
+ * @documentationMaturity preview
3252
+ * @requiredField catalogImportId
3253
+ * @permissionId stores:catalog:v3:catalog_import:submit_catalog_import
3254
+ * @applicableIdentity APP
3255
+ * @fqn wix.stores.catalog.catalog_import.v3.CatalogImports.SubmitCatalogImport
3256
+ */
3257
+ declare function submitCatalogImport(catalogImportId: string): Promise<NonNullablePaths<SubmitCatalogImportResponse, `jobId`, 2> & {
3258
+ __applicationErrorsType?: SubmitCatalogImportApplicationErrors;
3259
+ }>;
3260
+
3261
+ export { type ActionEvent, type AddProductResult, type AddProductsToImportRequest, type AddProductsToImportResponse, Alignment, type AlignmentWithLiterals, type AnchorData, type AppEmbedData, type AppEmbedDataAppDataOneOf, AppType, type AppTypeWithLiterals, type ApplicationError, AspectRatio, type AspectRatioWithLiterals, type AudioData, type Background, type BackgroundBackgroundOneOf, BackgroundType, type BackgroundTypeWithLiterals, type BlockquoteData, type BookingData, type Border, type BorderColors, type Brand, type BulkActionMetadata, type BulletedListData, type ButtonData, ButtonDataType, type ButtonDataTypeWithLiterals, type ButtonStyles, type CaptionData, type CardStyles, type CatalogImport, type CatalogImportAlreadySubmittedErrorData, type CellStyle, ChoiceType, type ChoiceTypeWithLiterals, type ChoicesSettings, type CodeBlockData, type CollapsibleListData, type ColorData, type Colors, type ConnectedModifier, type ConnectedModifierChoice, type ConnectedModifierChoiceValueOneOf, type ConnectedModifierModifierSettingsOneOf, type ConnectedOption, type ConnectedOptionChoice, type ConnectedOptionChoiceValueOneOf, type ConnectedOptionOptionSettingsOneOf, type CreateCatalogImportRequest, type CreateCatalogImportResponse, Crop, type CropWithLiterals, type Decoration, type DecorationDataOneOf, DecorationType, type DecorationTypeWithLiterals, type Design, type Dimensions, Direction, type DirectionWithLiterals, DiscountType, type DiscountTypeWithLiterals, type DividerData, DividerDataAlignment, type DividerDataAlignmentWithLiterals, type DocumentStyle, type DomainEvent, type DomainEventBodyOneOf, type EmbedData, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventData, type ExtendedFields, type FileData, type FileSource, type FileSourceDataOneOf, FileType, type FileTypeWithLiterals, type FixedMonetaryAmount, type FontSizeData, FontType, type FontTypeWithLiterals, type FreeTextSettings, type GIF, type GIFData, GIFType, type GIFTypeWithLiterals, type GalleryData, type GalleryOptions, type GalleryOptionsLayout, type Gradient, type HTMLData, type HTMLDataDataOneOf, type HeadingData, type Height, type IdentificationData, type IdentificationDataIdOneOf, type Image, type ImageData, type ImageDataStyles, type ImageStyles, type InfoSection, InitialExpandedItems, type InitialExpandedItemsWithLiterals, type InventoryItemComposite, type InventoryItemCompositeTrackingMethodOneOf, type Item, type ItemDataOneOf, type ItemMetadata, type ItemStyle, type Keyword, Layout, type LayoutCellData, LayoutType, type LayoutTypeWithLiterals, type LayoutWithLiterals, LineStyle, type LineStyleWithLiterals, type Link, type LinkData, type LinkDataOneOf, type LinkPreviewData, type LinkPreviewDataStyles, type ListValue, type MapData, type MapSettings, MapType, type MapTypeWithLiterals, MeasurementUnit, type MeasurementUnitWithLiterals, type Media, type MediaItemsInfo, MediaType, type MediaTypeWithLiterals, type MentionData, type MessageEnvelope, type Metadata, type ModifierChoicesSettings, ModifierRenderType, type ModifierRenderTypeWithLiterals, type MultipleColors, type Node, type NodeDataOneOf, type NodeStyle, NodeType, type NodeTypeWithLiterals, NullValue, type NullValueWithLiterals, type Oembed, type Option, type OptionChoiceIds, type OptionChoiceNames, type OptionChoiceReferences, type OptionDesign, type OptionLayout, type OrderedListData, Orientation, type OrientationWithLiterals, type PDFSettings, type ParagraphData, type Permissions, type PhysicalProperties, Placement, type PlacementWithLiterals, type PlaybackOptions, type PluginContainerData, PluginContainerDataAlignment, type PluginContainerDataAlignmentWithLiterals, type PluginContainerDataWidth, type PluginContainerDataWidthDataOneOf, type Poll, type PollData, type PollDataLayout, type PollDesign, type PollLayout, PollLayoutDirection, type PollLayoutDirectionWithLiterals, PollLayoutType, type PollLayoutTypeWithLiterals, type PollSettings, Position, type PositionWithLiterals, type PreorderInfo, type PriceInfo, type PricePerUnit, type PricePerUnitRange, type PricePerUnitRangePricePerUnit, type PricePerUnitSettings, type PricingData, type ProductCategoryIdsInfo, type ProductItem, type ProductMedia, type ProductMediaMediaOneOf, type ProductMediaSetByOneOf, ProductOptionRenderType, type ProductOptionRenderTypeWithLiterals, ProductType, type ProductTypeWithLiterals, type ProductWithInventory, type ProductWithInventoryTypedPropertiesOneOf, type Rel, Resizing, type ResizingWithLiterals, type RestoreInfo, type RevenueDetails, type Ribbon, type RibbonStyles, type RichContent, type SecuredMedia, type SeoSchema, type Settings, Source, type SourceWithLiterals, type Spoiler, type SpoilerData, type Styles, type StylesBorder, StylesPosition, type StylesPositionWithLiterals, type SubmitCatalogImportApplicationErrors, type SubmitCatalogImportRequest, type SubmitCatalogImportResponse, type Subscription, type SubscriptionCyclesOneOf, type SubscriptionDetails, type SubscriptionDiscount, type SubscriptionDiscountDiscountOneOf, SubscriptionFrequency, type SubscriptionFrequencyWithLiterals, type TableCellData, type TableData, type Tag, Target, type TargetWithLiterals, TextAlignment, type TextAlignmentWithLiterals, type TextData, type TextNodeStyle, type TextStyle, type Thumbnail, type Thumbnails, ThumbnailsAlignment, type ThumbnailsAlignmentWithLiterals, Type, type TypeWithLiterals, type V1Media, type VariantDigitalProperties, type VariantPhysicalProperties, type VariantWithInventory, type VariantWithInventoryTypedPropertiesOneOf, type VariantsInfo, VerticalAlignment, type VerticalAlignmentWithLiterals, type Video, type VideoData, type VideoResolution, ViewMode, type ViewModeWithLiterals, ViewRole, type ViewRoleWithLiterals, VoteRole, type VoteRoleWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, type WeightMeasurementUnitInfo, type WeightRange, WeightUnit, type WeightUnitWithLiterals, Width, WidthType, type WidthTypeWithLiterals, type WidthWithLiterals, addProductsToImport, createCatalogImport, submitCatalogImport };