/** * A translatable content is a unit of content to translate. * * Use [Machine Translate](/machine-translation/machine-translate) to translate a single unit of translatable content, or [Bulk Machine Translate](/machine-translation/bulk-machine-translate) * to translate many. */ export interface TranslatableContent extends TranslatableContentContentOneOf { /** Plain text. */ plainTextContent?: string; /** HTML-encoded. */ htmlContent?: string; /** Rich content. */ richContent?: RichContent; /** Translatable content ID. The ID should be unique to this content and doesn't need to match the ID used by any other service. */ _id?: string | null; /** Format of the translatable content. */ format?: Format; } /** @oneof */ export interface TranslatableContentContentOneOf { /** Plain text. */ plainTextContent?: string; /** HTML-encoded. */ htmlContent?: string; /** Rich content. */ richContent?: RichContent; } export declare enum Format { /** Unspecified format. */ UNKNOWN_FORMAT = "UNKNOWN_FORMAT", /** Plain text content. */ PLAIN_TEXT = "PLAIN_TEXT", /** HTML content. */ HTML = "HTML", /** Rich Content. */ RICH = "RICH" } export interface RichContent { /** Node objects representing a rich content document. */ nodes?: Node[]; /** Object metadata. */ metadata?: Metadata; /** Global styling for header, paragraph, block quote, and code block nodes in the object. */ documentStyle?: DocumentStyle; } export interface Node extends NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */ layoutCellData?: LayoutCellData; /** 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. */ type?: NodeType; /** Node ID. */ _id?: string; /** A list of child nodes. */ nodes?: Node[]; /** Padding and background color styling for the node. */ style?: NodeStyle; } /** @oneof */ export interface NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */ layoutCellData?: LayoutCellData; } export declare enum NodeType { PARAGRAPH = "PARAGRAPH", TEXT = "TEXT", HEADING = "HEADING", BULLETED_LIST = "BULLETED_LIST", ORDERED_LIST = "ORDERED_LIST", LIST_ITEM = "LIST_ITEM", BLOCKQUOTE = "BLOCKQUOTE", CODE_BLOCK = "CODE_BLOCK", VIDEO = "VIDEO", DIVIDER = "DIVIDER", FILE = "FILE", GALLERY = "GALLERY", GIF = "GIF", HTML = "HTML", IMAGE = "IMAGE", LINK_PREVIEW = "LINK_PREVIEW", /** @deprecated */ MAP = "MAP", POLL = "POLL", APP_EMBED = "APP_EMBED", BUTTON = "BUTTON", COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST", TABLE = "TABLE", EMBED = "EMBED", COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM", COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE", COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY", TABLE_CELL = "TABLE_CELL", TABLE_ROW = "TABLE_ROW", EXTERNAL = "EXTERNAL", AUDIO = "AUDIO", CAPTION = "CAPTION", LAYOUT = "LAYOUT", LAYOUT_CELL = "LAYOUT_CELL" } export interface NodeStyle { /** The top padding value in pixels. */ paddingTop?: string | null; /** The bottom padding value in pixels. */ paddingBottom?: string | null; /** The background color as a hexadecimal value. */ backgroundColor?: string | null; } export interface ButtonData { /** Styling for the button's container. */ containerData?: PluginContainerData; /** The button type. */ type?: Type; /** Styling for the button. */ styles?: Styles; /** The text to display on the button. */ text?: string | null; /** Button link details. */ link?: Link; } export interface Border { /** Border width in pixels. */ width?: number | null; /** Border radius in pixels. */ radius?: number | null; } export interface Colors { /** The text color as a hexadecimal value. */ text?: string | null; /** The border color as a hexadecimal value. */ border?: string | null; /** The background color as a hexadecimal value. */ background?: string | null; } export interface PluginContainerData { /** The width of the node when it's displayed. */ width?: PluginContainerDataWidth; /** The node's alignment within its container. */ alignment?: PluginContainerDataAlignment; /** Spoiler cover settings for the node. */ spoiler?: Spoiler; /** The height of the node when it's displayed. */ height?: Height; /** 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`. */ textWrap?: boolean | null; } export declare enum WidthType { /** Width matches the content width */ CONTENT = "CONTENT", /** Small Width */ SMALL = "SMALL", /** Width will match the original asset width */ ORIGINAL = "ORIGINAL", /** coast-to-coast display */ FULL_WIDTH = "FULL_WIDTH" } export interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } /** @oneof */ export interface PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } export declare enum PluginContainerDataAlignment { /** Center Alignment */ CENTER = "CENTER", /** Left Alignment */ LEFT = "LEFT", /** Right Alignment */ RIGHT = "RIGHT" } export interface Spoiler { /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */ enabled?: boolean | null; /** The description displayed on top of the spoiler cover. */ description?: string | null; /** The text for the button used to remove the spoiler cover. */ buttonText?: string | null; } export interface Height { /** A custom height value in pixels. */ custom?: string | null; } export declare enum Type { /** Regular link button */ LINK = "LINK", /** Triggers custom action that is defined in plugin configuration by the consumer */ ACTION = "ACTION" } export interface Styles { /** Border attributes. */ border?: Border; /** Color attributes. */ colors?: Colors; } export interface Link extends LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; /** * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows: * `SELF` - Default. Opens the linked document in the same frame as the link. * `BLANK` - Opens the linked document in a new browser tab or window. * `PARENT` - Opens the linked document in the link's parent frame. * `TOP` - Opens the linked document in the full body of the link's browser tab or window. */ target?: Target; /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */ rel?: Rel; /** A serialized object used for a custom or external link panel. */ customData?: string | null; } /** @oneof */ export interface LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; } export declare enum Target { /** Opens the linked document in the same frame as it was clicked (this is default) */ SELF = "SELF", /** Opens the linked document in a new window or tab */ BLANK = "BLANK", /** Opens the linked document in the parent frame */ PARENT = "PARENT", /** Opens the linked document in the full body of the window */ TOP = "TOP" } export interface Rel { /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */ nofollow?: boolean | null; /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */ sponsored?: boolean | null; /** 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`. */ ugc?: boolean | null; /** Indicates that this link protect referral information from being passed to the target website. */ noreferrer?: boolean | null; } export interface CodeBlockData { /** Styling for the code block's text. */ textStyle?: TextStyle; } export interface TextStyle { /** Text alignment. Defaults to `AUTO`. */ textAlignment?: TextAlignment; /** 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. */ lineHeight?: string | null; } export declare enum TextAlignment { /** browser default, eqivalent to `initial` */ AUTO = "AUTO", /** Left align */ LEFT = "LEFT", /** Right align */ RIGHT = "RIGHT", /** Center align */ CENTER = "CENTER", /** 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 */ JUSTIFY = "JUSTIFY" } export interface DividerData { /** Styling for the divider's container. */ containerData?: PluginContainerData; /** Divider line style. */ lineStyle?: LineStyle; /** Divider width. */ width?: Width; /** Divider alignment. */ alignment?: Alignment; } export declare enum LineStyle { /** Single Line */ SINGLE = "SINGLE", /** Double Line */ DOUBLE = "DOUBLE", /** Dashed Line */ DASHED = "DASHED", /** Dotted Line */ DOTTED = "DOTTED" } export declare enum Width { /** Large line */ LARGE = "LARGE", /** Medium line */ MEDIUM = "MEDIUM", /** Small line */ SMALL = "SMALL" } export declare enum Alignment { /** Center alignment */ CENTER = "CENTER", /** Left alignment */ LEFT = "LEFT", /** Right alignment */ RIGHT = "RIGHT" } export interface FileData { /** Styling for the file's container. */ containerData?: PluginContainerData; /** The source for the file's data. */ src?: FileSource; /** File name. */ name?: string | null; /** File type. */ type?: string | null; /** * Use `sizeInKb` instead. * @deprecated */ size?: number | null; /** Settings for PDF files. */ pdfSettings?: PDFSettings; /** File MIME type. */ mimeType?: string | null; /** File path. */ path?: string | null; /** File size in KB. */ sizeInKb?: string | null; } export declare enum ViewMode { /** No PDF view */ NONE = "NONE", /** Full PDF view */ FULL = "FULL", /** Mini PDF view */ MINI = "MINI" } export interface FileSource extends FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; /** Indicates whether the file's source is private. Defaults to `false`. */ private?: boolean | null; } /** @oneof */ export interface FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; } export interface PDFSettings { /** * PDF view mode. One of the following: * `NONE` : The PDF isn't displayed. * `FULL` : A full page view of the PDF is displayed. * `MINI` : A mini view of the PDF is displayed. */ viewMode?: ViewMode; /** Sets whether the PDF download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Sets whether the PDF print button is disabled. Defaults to `false`. */ disablePrint?: boolean | null; } export interface GalleryData { /** Styling for the gallery's container. */ containerData?: PluginContainerData; /** The items in the gallery. */ items?: Item[]; /** Options for defining the gallery's appearance. */ options?: GalleryOptions; /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */ disableExpand?: boolean | null; /** Sets whether the gallery's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } export interface Media { /** The source for the media's data. */ src?: FileSource; /** Media width in pixels. */ width?: number | null; /** Media height in pixels. */ height?: number | null; /** Media duration in seconds. Only relevant for audio and video files. */ duration?: number | null; } export interface Image { /** Image file details. */ media?: Media; /** Link details for images that are links. */ link?: Link; } export interface Video { /** Video file details. */ media?: Media; /** Video thumbnail file details. */ thumbnail?: Media; } export interface Item extends ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; /** Item title. */ title?: string | null; /** Item's alternative text. */ altText?: string | null; } /** @oneof */ export interface ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; } export interface GalleryOptions { /** Gallery layout. */ layout?: Layout; /** Styling for gallery items. */ item?: ItemStyle; /** Styling for gallery thumbnail images. */ thumbnails?: Thumbnails; } export declare enum LayoutType { /** Collage type */ COLLAGE = "COLLAGE", /** Masonry type */ MASONRY = "MASONRY", /** Grid type */ GRID = "GRID", /** Thumbnail type */ THUMBNAIL = "THUMBNAIL", /** Slider type */ SLIDER = "SLIDER", /** Slideshow type */ SLIDESHOW = "SLIDESHOW", /** Panorama type */ PANORAMA = "PANORAMA", /** Column type */ COLUMN = "COLUMN", /** Magic type */ MAGIC = "MAGIC", /** Fullsize images type */ FULLSIZE = "FULLSIZE" } export declare enum Orientation { /** Rows Orientation */ ROWS = "ROWS", /** Columns Orientation */ COLUMNS = "COLUMNS" } export declare enum Crop { /** Crop to fill */ FILL = "FILL", /** Crop to fit */ FIT = "FIT" } export declare enum ThumbnailsAlignment { /** Top alignment */ TOP = "TOP", /** Right alignment */ RIGHT = "RIGHT", /** Bottom alignment */ BOTTOM = "BOTTOM", /** Left alignment */ LEFT = "LEFT", /** No thumbnail */ NONE = "NONE" } export interface Layout { /** Gallery layout type. */ type?: LayoutType; /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */ horizontalScroll?: boolean | null; /** Gallery orientation. */ orientation?: Orientation; /** The number of columns to display on full size screens. */ numberOfColumns?: number | null; /** The number of columns to display on mobile screens. */ mobileNumberOfColumns?: number | null; } export interface ItemStyle { /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */ targetSize?: number | null; /** Item ratio */ ratio?: number | null; /** Sets how item images are cropped. */ crop?: Crop; /** The spacing between items in pixels. */ spacing?: number | null; } export interface Thumbnails { /** Thumbnail alignment. */ placement?: ThumbnailsAlignment; /** Spacing between thumbnails in pixels. */ spacing?: number | null; } export interface GIFData { /** Styling for the GIF's container. */ containerData?: PluginContainerData; /** The source of the full size GIF. */ original?: GIF; /** The source of the downsized GIF. */ downsized?: GIF; /** Height in pixels. */ height?: number; /** Width in pixels. */ width?: number; /** Type of GIF (Sticker or GIF). Defaults to `GIF`. */ gifType?: GIFType; } export interface GIF { /** GIF format URL. */ gif?: string | null; /** MP4 format URL. */ mp4?: string | null; /** Thumbnail URL. */ still?: string | null; } export declare enum GIFType { GIF = "GIF", STICKER = "STICKER" } export interface HeadingData { /** Heading level from 1-6. */ level?: number; /** Styling for the heading text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; } export interface HTMLData extends HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */ containerData?: PluginContainerData; /** The type of HTML code. */ source?: Source; /** If container height is aligned with its content height. Defaults to `true`. */ autoHeight?: boolean | null; } /** @oneof */ export interface HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; } export declare enum Source { HTML = "HTML", ADSENSE = "ADSENSE" } export interface ImageData { /** Styling for the image's container. */ containerData?: PluginContainerData; /** Image file details. */ image?: Media; /** Link details for images that are links. */ link?: Link; /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */ disableExpand?: boolean | null; /** Image's alternative text. */ altText?: string | null; /** * Deprecated: use Caption node instead. * @deprecated */ caption?: string | null; /** Sets whether the image's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } export interface LinkPreviewData { /** Styling for the link preview's container. */ containerData?: PluginContainerData; /** Link details. */ link?: Link; /** Preview title. */ title?: string | null; /** Preview thumbnail URL. */ thumbnailUrl?: string | null; /** Preview description. */ description?: string | null; /** The preview content as HTML. */ html?: string | null; } export interface MapData { /** Styling for the map's container. */ containerData?: PluginContainerData; /** Map settings. */ mapSettings?: MapSettings; } export interface MapSettings { /** The address to display on the map. */ address?: string | null; /** Sets whether the map is draggable. */ draggable?: boolean | null; /** Sets whether the location marker is visible. */ marker?: boolean | null; /** Sets whether street view control is enabled. */ streetViewControl?: boolean | null; /** Sets whether zoom control is enabled. */ zoomControl?: boolean | null; /** Location latitude. */ lat?: number | null; /** Location longitude. */ lng?: number | null; /** Location name. */ locationName?: string | null; /** Sets whether view mode control is enabled. */ viewModeControl?: boolean | null; /** Initial zoom value. */ initialZoom?: number | null; /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */ mapType?: MapType; } export declare enum MapType { /** Roadmap map type */ ROADMAP = "ROADMAP", /** Satellite map type */ SATELITE = "SATELITE", /** Hybrid map type */ HYBRID = "HYBRID", /** Terrain map type */ TERRAIN = "TERRAIN" } export interface ParagraphData { /** Styling for the paragraph text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; /** Paragraph level */ level?: number | null; } export interface PollData { /** Styling for the poll's container. */ containerData?: PluginContainerData; /** Poll data. */ poll?: Poll; /** Layout settings for the poll and voting options. */ layout?: PollDataLayout; /** Styling for the poll and voting options. */ design?: Design; } export declare enum ViewRole { /** Only Poll creator can view the results */ CREATOR = "CREATOR", /** Anyone who voted can see the results */ VOTERS = "VOTERS", /** Anyone can see the results, even if one didn't vote */ EVERYONE = "EVERYONE" } export declare enum VoteRole { /** Logged in member */ SITE_MEMBERS = "SITE_MEMBERS", /** Anyone */ ALL = "ALL" } export interface Permissions { /** Sets who can view the poll results. */ view?: ViewRole; /** Sets who can vote. */ vote?: VoteRole; /** Sets whether one voter can vote multiple times. Defaults to `false`. */ allowMultipleVotes?: boolean | null; } export interface Option { /** Option ID. */ _id?: string | null; /** Option title. */ title?: string | null; /** The image displayed with the option. */ image?: Media; } export interface Settings { /** Permissions settings for voting. */ permissions?: Permissions; /** Sets whether voters are displayed in the vote results. Defaults to `true`. */ showVoters?: boolean | null; /** Sets whether the vote count is displayed. Defaults to `true`. */ showVotesCount?: boolean | null; } export declare enum PollLayoutType { /** List */ LIST = "LIST", /** Grid */ GRID = "GRID" } export declare enum PollLayoutDirection { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } export interface PollLayout { /** The layout for displaying the voting options. */ type?: PollLayoutType; /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */ direction?: PollLayoutDirection; /** Sets whether to display the main poll image. Defaults to `false`. */ enableImage?: boolean | null; } export interface OptionLayout { /** Sets whether to display option images. Defaults to `false`. */ enableImage?: boolean | null; } export declare enum BackgroundType { /** Color background type */ COLOR = "COLOR", /** Image background type */ IMAGE = "IMAGE", /** Gradiant background type */ GRADIENT = "GRADIENT" } export interface Gradient { /** The gradient angle in degrees. */ angle?: number | null; /** The start color as a hexademical value. */ startColor?: string | null; /** The end color as a hexademical value. */ lastColor?: string | null; } export interface Background extends BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; /** Background type. For each option, include the relevant details. */ type?: BackgroundType; } /** @oneof */ export interface BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; } export interface PollDesign { /** Background styling. */ background?: Background; /** Border radius in pixels. */ borderRadius?: number | null; } export interface OptionDesign { /** Border radius in pixels. */ borderRadius?: number | null; } export interface Poll { /** Poll ID. */ _id?: string | null; /** Poll title. */ title?: string | null; /** Poll creator ID. */ creatorId?: string | null; /** Main poll image. */ image?: Media; /** Voting options. */ options?: Option[]; /** The poll's permissions and display settings. */ settings?: Settings; } export interface PollDataLayout { /** Poll layout settings. */ poll?: PollLayout; /** Voting otpions layout settings. */ options?: OptionLayout; } export interface Design { /** Styling for the poll. */ poll?: PollDesign; /** Styling for voting options. */ options?: OptionDesign; } export interface TextData { /** The text to apply decorations to. */ text?: string; /** The decorations to apply. */ decorations?: Decoration[]; } /** Adds appearence changes to text */ export interface Decoration extends DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; /** The type of decoration to apply. */ type?: DecorationType; } /** @oneof */ export interface DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; } export declare enum DecorationType { BOLD = "BOLD", ITALIC = "ITALIC", UNDERLINE = "UNDERLINE", SPOILER = "SPOILER", ANCHOR = "ANCHOR", MENTION = "MENTION", LINK = "LINK", COLOR = "COLOR", FONT_SIZE = "FONT_SIZE", EXTERNAL = "EXTERNAL" } export interface AnchorData { /** The target node's ID. */ anchor?: string; } export interface ColorData { /** The text's background color as a hexadecimal value. */ background?: string | null; /** The text's foreground color as a hexadecimal value. */ foreground?: string | null; } export interface LinkData { /** Link details. */ link?: Link; } export interface MentionData { /** The mentioned user's name. */ name?: string; /** The version of the user's name that appears after the `@` character in the mention. */ slug?: string; /** Mentioned user's ID. */ _id?: string | null; } export interface FontSizeData { /** The units used for the font size. */ unit?: FontType; /** Font size value. */ value?: number | null; } export declare enum FontType { PX = "PX", EM = "EM" } export interface SpoilerData { /** Spoiler ID. */ _id?: string | null; } export interface AppEmbedData extends AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; /** The type of Wix App content being embedded. */ type?: AppType; /** The ID of the embedded content. */ itemId?: string | null; /** The name of the embedded content. */ name?: string | null; /** * Deprecated: Use `image` instead. * @deprecated */ imageSrc?: string | null; /** The URL for the embedded content. */ url?: string | null; /** An image for the embedded content. */ image?: Media; } /** @oneof */ export interface AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; } export declare enum AppType { PRODUCT = "PRODUCT", EVENT = "EVENT", BOOKING = "BOOKING" } export interface BookingData { /** Booking duration in minutes. */ durations?: string | null; } export interface EventData { /** Event schedule. */ scheduling?: string | null; /** Event location. */ location?: string | null; } export interface VideoData { /** Styling for the video's container. */ containerData?: PluginContainerData; /** Video details. */ video?: Media; /** Video thumbnail details. */ thumbnail?: Media; /** Sets whether the video's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Video title. */ title?: string | null; /** Video options. */ options?: PlaybackOptions; } export interface PlaybackOptions { /** Sets whether the media will automatically start playing. */ autoPlay?: boolean | null; /** Sets whether media's will be looped. */ playInLoop?: boolean | null; /** Sets whether media's controls will be shown. */ showControls?: boolean | null; } export interface EmbedData { /** Styling for the oEmbed node's container. */ containerData?: PluginContainerData; /** An [oEmbed](https://www.oembed.com) object. */ oembed?: Oembed; /** Origin asset source. */ src?: string | null; } export interface Oembed { /** The resource type. */ type?: string | null; /** The width of the resource specified in the `url` property in pixels. */ width?: number | null; /** The height of the resource specified in the `url` property in pixels. */ height?: number | null; /** Resource title. */ title?: string | null; /** The source URL for the resource. */ url?: string | null; /** HTML for embedding a video player. The HTML should have no padding or margins. */ html?: string | null; /** The name of the author or owner of the resource. */ authorName?: string | null; /** The URL for the author or owner of the resource. */ authorUrl?: string | null; /** The name of the resource provider. */ providerName?: string | null; /** The URL for the resource provider. */ providerUrl?: string | null; /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */ thumbnailUrl?: string | null; /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */ thumbnailWidth?: string | null; /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */ thumbnailHeight?: string | null; /** The URL for an embedded viedo. */ videoUrl?: string | null; /** The oEmbed version number. This value must be `1.0`. */ version?: string | null; } export interface CollapsibleListData { /** Styling for the collapsible list's container. */ containerData?: PluginContainerData; /** If `true`, only one item can be expanded at a time. Defaults to `false`. */ expandOnlyOne?: boolean | null; /** Sets which items are expanded when the page loads. */ initialExpandedItems?: InitialExpandedItems; /** The direction of the text in the list. Either left-to-right or right-to-left. */ direction?: Direction; /** If `true`, The collapsible item will appear in search results as an FAQ. */ isQapageData?: boolean | null; } export declare enum InitialExpandedItems { /** First item will be expended initally */ FIRST = "FIRST", /** All items will expended initally */ ALL = "ALL", /** All items collapsed initally */ NONE = "NONE" } export declare enum Direction { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } export interface TableData { /** Styling for the table's container. */ containerData?: PluginContainerData; /** The table's dimensions. */ dimensions?: Dimensions; /** * Deprecated: Use `rowHeader` and `columnHeader` instead. * @deprecated */ header?: boolean | null; /** Sets whether the table's first row is a header. Defaults to `false`. */ rowHeader?: boolean | null; /** Sets whether the table's first column is a header. Defaults to `false`. */ columnHeader?: boolean | null; } export interface Dimensions { /** An array representing relative width of each column in relation to the other columns. */ colsWidthRatio?: number[]; /** An array representing the height of each row in pixels. */ rowsHeight?: number[]; /** An array representing the minimum width of each column in pixels. */ colsMinWidth?: number[]; } export interface TableCellData { /** Styling for the cell's background color and text alignment. */ cellStyle?: CellStyle; /** The cell's border colors. */ borderColors?: BorderColors; } export declare enum VerticalAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } export interface CellStyle { /** Vertical alignment for the cell's text. */ verticalAlignment?: VerticalAlignment; /** Cell background color as a hexadecimal value. */ backgroundColor?: string | null; } export interface BorderColors { /** Left border color as a hexadecimal value. */ left?: string | null; /** Right border color as a hexadecimal value. */ right?: string | null; /** Top border color as a hexadecimal value. */ top?: string | null; /** Bottom border color as a hexadecimal value. */ bottom?: string | null; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. */ export declare enum NullValue { /** Null value. */ NULL_VALUE = "NULL_VALUE" } /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. */ export interface ListValue { /** Repeated field of dynamically typed values. */ values?: any[]; } export interface AudioData { /** Styling for the audio node's container. */ containerData?: PluginContainerData; /** Audio file details. */ audio?: Media; /** Sets whether the audio node's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Cover image. */ coverImage?: Media; /** Track name. */ name?: string | null; /** Author name. */ authorName?: string | null; /** An HTML version of the audio node. */ html?: string | null; } export interface OrderedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** List start number. */ start?: number | null; } export interface BulletedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; } export interface BlockquoteData { /** Indentation level from 1-4. */ indentation?: number; } export interface CaptionData { textStyle?: TextStyle; } export interface LayoutCellData { /** Size of the cell in 12 columns grid. */ colSpan?: number | null; } export interface Metadata { /** Schema version. */ version?: number; /** * When the object was created. * @readonly * @deprecated */ createdTimestamp?: Date | null; /** * When the object was most recently updated. * @deprecated */ updatedTimestamp?: Date | null; /** Object ID. */ _id?: string | null; } export interface DocumentStyle { /** Styling for H1 nodes. */ headerOne?: TextNodeStyle; /** Styling for H2 nodes. */ headerTwo?: TextNodeStyle; /** Styling for H3 nodes. */ headerThree?: TextNodeStyle; /** Styling for H4 nodes. */ headerFour?: TextNodeStyle; /** Styling for H5 nodes. */ headerFive?: TextNodeStyle; /** Styling for H6 nodes. */ headerSix?: TextNodeStyle; /** Styling for paragraph nodes. */ paragraph?: TextNodeStyle; /** Styling for block quote nodes. */ blockquote?: TextNodeStyle; /** Styling for code block nodes. */ codeBlock?: TextNodeStyle; } export interface TextNodeStyle { /** The decorations to apply to the node. */ decorations?: Decoration[]; /** Padding and background color for the node. */ nodeStyle?: NodeStyle; /** Line height for text in the node. */ lineHeight?: string | null; } export interface MachineTranslateRequest { /** Language of the source text to translate. */ sourceLanguage: SupportedLanguage; /** Language to translate text into. */ targetLanguage: SupportedLanguage; /** The content to translate. */ contentToTranslate: TranslatableContent; } export declare enum SupportedLanguage { /** Undefined Language */ UNDEFINED_SUPPORTED_LANGUAGE = "UNDEFINED_SUPPORTED_LANGUAGE", /** Afrikaans */ AF = "AF", /** Albanian */ SQ = "SQ", /** Amharic */ AM = "AM", /** Arabic */ AR = "AR", /** Armenian */ HY = "HY", /** Assamese */ AS = "AS", /** Aymara */ AY = "AY", /** Azerbaijani */ AZ = "AZ", /** Bambara */ BM = "BM", /** Basque */ EU = "EU", /** Belarusian */ BE = "BE", /** Bengali */ BN = "BN", /** Bhojpuri */ BHO = "BHO", /** Bosnian */ BS = "BS", /** Bulgarian */ BG = "BG", /** Catalan */ CA = "CA", /** Cebuano */ CEB = "CEB", /** Chinese (Simplified) */ ZH_CN = "ZH_CN", /** Chinese (Traditional) */ ZH_TW = "ZH_TW", /** Chinese (Simplified) */ ZH = "ZH", /** Corsican */ CO = "CO", /** Croatian */ HR = "HR", /** Czech */ CS = "CS", /** Danish */ DA = "DA", /** Dhivehi */ DV = "DV", /** Dogri */ DOI = "DOI", /** Dutch */ NL = "NL", /** English */ EN = "EN", /** Esperanto */ EO = "EO", /** Estonian */ ET = "ET", /** Ewe */ EE = "EE", /** Filipino (Tagalog) */ FIL = "FIL", /** Finnish */ FI = "FI", /** French */ FR = "FR", /** Frisian */ FY = "FY", /** Galician */ GL = "GL", /** Georgian */ KA = "KA", /** German */ DE = "DE", /** Greek */ EL = "EL", /** Guarani */ GN = "GN", /** Gujarati */ GU = "GU", /** Haitian Creole */ HT = "HT", /** Hausa */ HA = "HA", /** Hawaiian */ HAW = "HAW", /** Hebrew */ HE = "HE", /** Hindi */ HI = "HI", /** Hmong */ HMN = "HMN", /** Hungarian */ HU = "HU", /** Icelandic */ IS = "IS", /** Igbo */ IG = "IG", /** Ilocano */ ILO = "ILO", /** Indonesian */ ID = "ID", /** Irish */ GA = "GA", /** Italian */ IT = "IT", /** Japanese */ JA = "JA", /** Javanese */ JW = "JW", /** Kannada */ KN = "KN", /** Kazakh */ KK = "KK", /** Khmer */ KM = "KM", /** Kinyarwanda */ RW = "RW", /** Konkani */ GOM = "GOM", /** Korean */ KO = "KO", /** Krio */ KRI = "KRI", /** Kurdish */ KU = "KU", /** Kurdish (Sorani) */ CKB = "CKB", /** Kyrgyz */ KY = "KY", /** Lao */ LO = "LO", /** Latin */ LA = "LA", /** Latvian */ LV = "LV", /** Lingala */ LN = "LN", /** Lithuanian */ LT = "LT", /** Luganda */ LG = "LG", /** Luxembourgish */ LB = "LB", /** Macedonian */ MK = "MK", /** Maithili */ MAI = "MAI", /** Malagasy */ MG = "MG", /** Malay */ MS = "MS", /** Malayalam */ ML = "ML", /** Maltese */ MT = "MT", /** Maori */ MI = "MI", /** Marathi */ MR = "MR", /** Meiteilon (Manipuri) */ MNI_MTEI = "MNI_MTEI", /** Mizo */ LUS = "LUS", /** Mongolian */ MN = "MN", /** Myanmar (Burmese) */ MY = "MY", /** Nepali */ NE = "NE", /** Norwegian */ NO = "NO", /** Nyanja (Chichewa) */ NY = "NY", /** Odia (Oriya) */ OR = "OR", /** Oromo */ OM = "OM", /** Pashto */ PS = "PS", /** Persian */ FA = "FA", /** Polish */ PL = "PL", /** Portuguese (Portugal, Brazil) */ PT = "PT", /** Punjabi */ PA = "PA", /** Quechua */ QU = "QU", /** Romanian */ RO = "RO", /** Russian */ RU = "RU", /** Samoan */ SM = "SM", /** Sanskrit */ SA = "SA", /** Scots Gaelic */ GD = "GD", /** Sepedi */ NSO = "NSO", /** Serbian */ SR = "SR", /** Sesotho */ ST = "ST", /** Shona */ SN = "SN", /** Sindhi */ SD = "SD", /** Sinhala (Sinhalese) */ SI = "SI", /** Slovak */ SK = "SK", /** Slovenian */ SL = "SL", /** Somali */ SO = "SO", /** Spanish */ ES = "ES", /** Sundanese */ SU = "SU", /** Swahili */ SW = "SW", /** Swedish */ SV = "SV", /** Tagalog (Filipino) */ TL = "TL", /** Tajik */ TG = "TG", /** Tamil */ TA = "TA", /** Tatar */ TT = "TT", /** Telugu */ TE = "TE", /** Thai */ TH = "TH", /** Tigrinya */ TI = "TI", /** Tsonga */ TS = "TS", /** Turkish */ TR = "TR", /** Turkmen */ TK = "TK", /** Twi (Akan) */ AK = "AK", /** Ukrainian */ UK = "UK", /** Urdu */ UR = "UR", /** Uyghur */ UG = "UG", /** Uzbek */ UZ = "UZ", /** Vietnamese */ VI = "VI", /** Welsh */ CY = "CY", /** Xhosa */ XH = "XH", /** Yiddish */ YI = "YI", /** Yoruba */ YO = "YO", /** Zulu */ ZU = "ZU" } export interface MachineTranslateResponse { /** The translated content. */ translatedContent?: TranslatableContent; } export interface NotEnoughCreditsError { /** The number of credits required to translate the content in the request. */ creditsRequired?: number; } export interface TextTooLongError { /** The maximum length of text that can be translated. */ maxLength?: number; /** The actual length of the text that was sent for translation. */ actualLength?: number; } export interface UnknownFormatError { } export interface SameLanguageArgumentsError { /** The language supplied as both the source and the target languages */ language?: string; } export interface BulkMachineTranslateRequest { /** Language of the source text to translate. */ sourceLanguage: SupportedLanguage; /** Language to translate text into. */ targetLanguage: SupportedLanguage; /** The content to translate. */ contentToTranslate?: TranslatableContent[]; } export interface BulkMachineTranslateResponse { /** List of results for each item in the bulk request. */ results?: BulkTranslateResult[]; /** Metadata for the overall bulk action, including success and failure counts. */ bulkActionMetadata?: BulkActionMetadata; } export interface BulkTranslateResult { /** Metadata for the individual item in the request. */ itemMetadata?: ItemMetadata; /** The translated content. */ item?: TranslatableContent; } export interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ _id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } export interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } export interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface PluginContainerDataWidthNonNullableFields { size: WidthType; } interface PluginContainerDataNonNullableFields { width?: PluginContainerDataWidthNonNullableFields; alignment: PluginContainerDataAlignment; } interface LinkNonNullableFields { url: string; anchor: string; target: Target; } interface ButtonDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; type: Type; link?: LinkNonNullableFields; } interface TextStyleNonNullableFields { textAlignment: TextAlignment; } interface CodeBlockDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface DividerDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; lineStyle: LineStyle; width: Width; alignment: Alignment; } interface PDFSettingsNonNullableFields { viewMode: ViewMode; } interface FileDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; pdfSettings?: PDFSettingsNonNullableFields; } interface ImageNonNullableFields { link?: LinkNonNullableFields; } interface ItemNonNullableFields { image?: ImageNonNullableFields; } interface LayoutNonNullableFields { type: LayoutType; orientation: Orientation; } interface ItemStyleNonNullableFields { crop: Crop; } interface ThumbnailsNonNullableFields { placement: ThumbnailsAlignment; } interface GalleryOptionsNonNullableFields { layout?: LayoutNonNullableFields; item?: ItemStyleNonNullableFields; thumbnails?: ThumbnailsNonNullableFields; } interface GalleryDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; items: ItemNonNullableFields[]; options?: GalleryOptionsNonNullableFields; } interface GIFDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; height: number; width: number; gifType: GIFType; } interface HeadingDataNonNullableFields { level: number; textStyle?: TextStyleNonNullableFields; } interface HTMLDataNonNullableFields { url: string; html: string; containerData?: PluginContainerDataNonNullableFields; source: Source; } interface ImageDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; link?: LinkNonNullableFields; } interface LinkPreviewDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; link?: LinkNonNullableFields; } interface MapSettingsNonNullableFields { mapType: MapType; } interface MapDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; mapSettings?: MapSettingsNonNullableFields; } interface ParagraphDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface PermissionsNonNullableFields { view: ViewRole; vote: VoteRole; } interface SettingsNonNullableFields { permissions?: PermissionsNonNullableFields; } interface PollNonNullableFields { settings?: SettingsNonNullableFields; } interface PollLayoutNonNullableFields { type: PollLayoutType; direction: PollLayoutDirection; } interface PollDataLayoutNonNullableFields { poll?: PollLayoutNonNullableFields; } interface BackgroundNonNullableFields { type: BackgroundType; } interface PollDesignNonNullableFields { background?: BackgroundNonNullableFields; } interface DesignNonNullableFields { poll?: PollDesignNonNullableFields; } interface PollDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; poll?: PollNonNullableFields; layout?: PollDataLayoutNonNullableFields; design?: DesignNonNullableFields; } interface AnchorDataNonNullableFields { anchor: string; } interface LinkDataNonNullableFields { link?: LinkNonNullableFields; } interface MentionDataNonNullableFields { name: string; slug: string; } interface FontSizeDataNonNullableFields { unit: FontType; } interface DecorationNonNullableFields { anchorData?: AnchorDataNonNullableFields; linkData?: LinkDataNonNullableFields; mentionData?: MentionDataNonNullableFields; fontSizeData?: FontSizeDataNonNullableFields; type: DecorationType; } interface TextDataNonNullableFields { text: string; decorations: DecorationNonNullableFields[]; } interface AppEmbedDataNonNullableFields { type: AppType; } interface VideoDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface EmbedDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface CollapsibleListDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; initialExpandedItems: InitialExpandedItems; direction: Direction; } interface DimensionsNonNullableFields { colsWidthRatio: number[]; rowsHeight: number[]; colsMinWidth: number[]; } interface TableDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; dimensions?: DimensionsNonNullableFields; } interface CellStyleNonNullableFields { verticalAlignment: VerticalAlignment; } interface TableCellDataNonNullableFields { cellStyle?: CellStyleNonNullableFields; } interface AudioDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface OrderedListDataNonNullableFields { indentation: number; } interface BulletedListDataNonNullableFields { indentation: number; } interface BlockquoteDataNonNullableFields { indentation: number; } interface CaptionDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface NodeNonNullableFields { buttonData?: ButtonDataNonNullableFields; codeBlockData?: CodeBlockDataNonNullableFields; dividerData?: DividerDataNonNullableFields; fileData?: FileDataNonNullableFields; galleryData?: GalleryDataNonNullableFields; gifData?: GIFDataNonNullableFields; headingData?: HeadingDataNonNullableFields; htmlData?: HTMLDataNonNullableFields; imageData?: ImageDataNonNullableFields; linkPreviewData?: LinkPreviewDataNonNullableFields; mapData?: MapDataNonNullableFields; paragraphData?: ParagraphDataNonNullableFields; pollData?: PollDataNonNullableFields; textData?: TextDataNonNullableFields; appEmbedData?: AppEmbedDataNonNullableFields; videoData?: VideoDataNonNullableFields; embedData?: EmbedDataNonNullableFields; collapsibleListData?: CollapsibleListDataNonNullableFields; tableData?: TableDataNonNullableFields; tableCellData?: TableCellDataNonNullableFields; audioData?: AudioDataNonNullableFields; orderedListData?: OrderedListDataNonNullableFields; bulletedListData?: BulletedListDataNonNullableFields; blockquoteData?: BlockquoteDataNonNullableFields; captionData?: CaptionDataNonNullableFields; type: NodeType; _id: string; nodes: NodeNonNullableFields[]; } interface MetadataNonNullableFields { version: number; } interface TextNodeStyleNonNullableFields { decorations: DecorationNonNullableFields[]; } interface DocumentStyleNonNullableFields { headerOne?: TextNodeStyleNonNullableFields; headerTwo?: TextNodeStyleNonNullableFields; headerThree?: TextNodeStyleNonNullableFields; headerFour?: TextNodeStyleNonNullableFields; headerFive?: TextNodeStyleNonNullableFields; headerSix?: TextNodeStyleNonNullableFields; paragraph?: TextNodeStyleNonNullableFields; blockquote?: TextNodeStyleNonNullableFields; codeBlock?: TextNodeStyleNonNullableFields; } interface RichContentNonNullableFields { nodes: NodeNonNullableFields[]; metadata?: MetadataNonNullableFields; documentStyle?: DocumentStyleNonNullableFields; } interface TranslatableContentNonNullableFields { plainTextContent: string; htmlContent: string; richContent?: RichContentNonNullableFields; format: Format; } export interface MachineTranslateResponseNonNullableFields { translatedContent?: TranslatableContentNonNullableFields; } interface ApplicationErrorNonNullableFields { code: string; description: string; } interface ItemMetadataNonNullableFields { originalIndex: number; success: boolean; error?: ApplicationErrorNonNullableFields; } interface BulkTranslateResultNonNullableFields { itemMetadata?: ItemMetadataNonNullableFields; item?: TranslatableContentNonNullableFields; } interface BulkActionMetadataNonNullableFields { totalSuccesses: number; totalFailures: number; undetailedFailures: number; } export interface BulkMachineTranslateResponseNonNullableFields { results: BulkTranslateResultNonNullableFields[]; bulkActionMetadata?: BulkActionMetadataNonNullableFields; } /** * Translates the text of a translatable unit of content from one supported language to another. * * The `translatedContent` object returns with the same `id` used for `contentToTranslate.id` but the text within the * content fields is replaced with the translated text. Note that Wix does not overwrite the original content object. * To retrieve the translated content later, make sure to store it separately. * * Only text content is translated, even if the content is `htmlContent` or `richContent`. Note that [collapsible text](https://support.wix.com/en/article/adding-and-setting-up-collapsible-text) * cannot be translated using this method. * * The translatable content must not exceed 5,000 characters. If this limit is exceeded, the method returns a `TEXT_TOO_LONG` error. * For `richContent`, the 5,000-character limit applies separately to each node in `richContent.nodes`. * The total translatable content may be more than 5,000 characters as long as no individual node surpasses this limit. * If any node exceeds 5,000 characters, the entire request fails. * * Each site has a word credit balance indicating the number of words available for translation. Successful translation requests reduce the word credits by the number of words in `contentToTranslate`. * If the site does not have sufficient word credits to translate all of the text in the request, the request fails * with a `NOT_ENOUGH_CREDITS` error. You can also call the [Credit Data API](https://dev.wix.com/docs/rest/business-management/multilingual/machine-translation/credit-data/introduction)'s [Check Sufficient Credits](https://dev.wix.com/docs/rest/business-management/multilingual/machine-translation/credit-data/check-sufficient-credits) method at any time to check whether the site has enough credits to translate the specified number of words. * Wix users can receive additional word credits by [purchasing a translation package](https://support.wix.com/en/article/wix-multilingual-auto-translating-your-site#purchasing-translation-packages) in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager) at any time. * * To translate up to 1,000 `translatableContent` units at once, use [Bulk Machine Translate](/machine-translation/bulk-machine-translate). * @param sourceLanguage - Language of the source text to translate. * @public * @requiredField options * @requiredField options.contentToTranslate * @requiredField options.targetLanguage * @requiredField sourceLanguage * @permissionId WIX_MULTILINGUAL.MACHINE_TRANSLATE * @fqn wix.multilingual.machine.v3.MachineTranslation.MachineTranslate */ export declare function machineTranslate(sourceLanguage: SupportedLanguage, options: MachineTranslateOptions): Promise; export interface MachineTranslateOptions { /** Language to translate text into. */ targetLanguage: SupportedLanguage; /** The content to translate. */ contentToTranslate: TranslatableContent; } /** * Translates the text of multiple units of translatable content from one supported language to another. * * Each translated content item in the `results` array returns with the same `id` as the corresponding `contentToTranslate.id`, but with the text in the * content fields replaced with the translated text. Note that Wix does not overwrite the original content source, * to retrieve the translated content later, make sure to store it separately. * * Only text content is translated, even if the content is `htmlContent` or `richContent`. Note that [collapsible text](https://support.wix.com/en/article/adding-and-setting-up-collapsible-text) * cannot be translated using this method. * * Each unit of translatable content must not exceed 5,000 characters. If this limit is exceeded, the method returns a `TEXT_TOO_LONG` error. * For `richContent`, the 5,000-character limit applies separately to each node in `richContent.nodes`. * The total request may exceed 5,000 characters as long as no individual node surpasses this limit. * If any node exceeds 5,000 characters, then the request fails for that specific `contentToTranslate` item and the error details for that * error are returned in `itemMetadata`. Even if some translations fail due to the character limit, * the machine translation for other items will succeed if they are under the character limit. * * Each site has a [word credit](/machine-translation/introduction#terminology) balance, starting at 3,000 words. * Each successful translation request reduces the word credits by the number of words included in `contentToTranslate`. * If the site does not have sufficient word credits to complete the translation, then the entire request fails * with a `NOT_ENOUGH_CREDITS` error. Additional credits can be [purchased through the Dashboard](https://support.wix.com/en/article/wix-multilingual-auto-translating-your-site?tabs=Dashboard-5#purchasing-translation-packages). * * To translate a single unit of `translatableContent`, use [Machine Translate](/machine-translation/machine-translate). * @param sourceLanguage - Language of the source text to translate. * @public * @requiredField options.targetLanguage * @requiredField sourceLanguage * @permissionId WIX_MULTILINGUAL.MACHINE_TRANSLATE * @fqn wix.multilingual.machine.v3.MachineTranslation.BulkMachineTranslate */ export declare function bulkMachineTranslate(sourceLanguage: SupportedLanguage, options?: BulkMachineTranslateOptions): Promise; export interface BulkMachineTranslateOptions { /** Language to translate text into. */ targetLanguage: SupportedLanguage; /** The content to translate. */ contentToTranslate?: TranslatableContent[]; } export {};