@wix/auto_sdk_stores_catalog-imports-v-3 1.0.0

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