import * as _wix_sdk_types from '@wix/sdk-types'; import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types'; interface QuestionEntry extends QuestionEntryAnswerOneOf { /** * Answer in [Draft.js](https://draftjs.org/) format. * @minLength 1 * @maxLength 100000 */ draftjs?: string; /** Answer in [rich content](https://ricos.dev/) format. */ richContent?: RichContent; /** * Answer in plain text format. * @minLength 1 * @maxLength 10000 */ plainText?: string; /** * Question entry ID. * @format GUID * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time a question entry is updated. * To prevent conflicting changes, * the current revision must be specified when updating the question entry. * * Ignored when creating a question entry. * @readonly */ revision?: string | null; /** * Date and time the question entry was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the question entry was last updated. * @readonly */ _updatedDate?: Date | null; /** * Question text displayed to site visitors. * @maxLength 1000 */ question?: string | null; /** * Labels assigned to this question entry for additional organization and integration purposes. * Labels are not visible to site visitors. * @maxSize 100 */ labels?: Label[]; /** Order of the question entry within its category. Lower values appear first. */ sortOrder?: number | null; /** * Question entry visibility status. * @internal */ status?: QuestionStatusWithLiterals; /** * ID of the category that this question entry belongs to. * Each question entry must be assigned to exactly one category. * @minLength 1 * @maxLength 50 */ categoryId?: string | null; /** * URL slug generated from the question text for SEO-friendly URLs. * @readonly * @maxLength 100 */ slug?: string | null; /** * Direct link to this specific question entry for sharing. * @readonly * @format WEB_URL */ shareLink?: string | null; /** * Custom field data for the `questionEntry` object. * * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } /** @oneof */ interface QuestionEntryAnswerOneOf { /** * Answer in [Draft.js](https://draftjs.org/) format. * @minLength 1 * @maxLength 100000 */ draftjs?: string; /** Answer in [rich content](https://ricos.dev/) format. */ richContent?: RichContent; /** * Answer in plain text format. * @minLength 1 * @maxLength 10000 */ plainText?: string; } 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; } 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; /** Data for a layout node. Reserved for future use. */ layoutData?: LayoutData; /** Data for a cell node. */ layoutCellData?: LayoutCellData; /** Data for a shape node. */ shapeData?: ShapeData; /** Data for a card node. */ cardData?: CardData; /** Data for a table of contents node. */ tocData?: TocData; /** Data for a smart block node. */ smartBlockData?: SmartBlockData; /** Data for a smart block cell node. */ smartBlockCellData?: SmartBlockCellData; /** Data for a checkbox list node. */ checkboxListData?: CheckboxListData; /** Data for a list item node. */ listItemData?: ListItemNodeData; /** Data for a slot node. */ slotData?: SlotData; /** 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?: NodeTypeWithLiterals; /** Node ID. */ id?: string; /** A list of child nodes. */ nodes?: Node[]; /** Padding and background color styling for the node. */ style?: NodeStyle; } /** @oneof */ 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; /** Data for a layout node. Reserved for future use. */ layoutData?: LayoutData; /** Data for a cell node. */ layoutCellData?: LayoutCellData; /** Data for a shape node. */ shapeData?: ShapeData; /** Data for a card node. */ cardData?: CardData; /** Data for a table of contents node. */ tocData?: TocData; /** Data for a smart block node. */ smartBlockData?: SmartBlockData; /** Data for a smart block cell node. */ smartBlockCellData?: SmartBlockCellData; /** Data for a checkbox list node. */ checkboxListData?: CheckboxListData; /** Data for a list item node. */ listItemData?: ListItemNodeData; /** Data for a slot node. */ slotData?: SlotData; } 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", SHAPE = "SHAPE", CARD = "CARD", TOC = "TOC", SMART_BLOCK = "SMART_BLOCK", SMART_BLOCK_CELL = "SMART_BLOCK_CELL", CHECKBOX_LIST = "CHECKBOX_LIST", SLOT = "SLOT" } /** @enumType */ 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' | 'SHAPE' | 'CARD' | 'TOC' | 'SMART_BLOCK' | 'SMART_BLOCK_CELL' | 'CHECKBOX_LIST' | 'SLOT'; 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; } interface ButtonData { /** Styling for the button's container. */ containerData?: PluginContainerData; /** The button type. */ type?: ButtonDataTypeWithLiterals; /** Styling for the button. */ styles?: Styles; /** The text to display on the button. */ text?: string | null; /** Button link details. */ link?: Link; /** Node animation. */ animation?: Animation; } /** Background type */ declare enum BackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT'; interface Gradient { /** Gradient type. */ type?: GradientTypeWithLiterals; /** * Color stops for the gradient. * @maxSize 1000 */ stops?: Stop[]; /** Angle in degrees for linear gradient (0-360). */ angle?: number | null; /** * Horizontal center position for radial gradient (0-100). * @max 100 */ centerX?: number | null; /** * Vertical center position for radial gradient (0-100). * @max 100 */ centerY?: number | null; } /** Gradient type. */ declare enum GradientType { /** Linear gradient. */ LINEAR = "LINEAR", /** Radial gradient. */ RADIAL = "RADIAL" } /** @enumType */ type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL'; /** A single color stop in the gradient. */ interface Stop { /** * Stop color as hex value. * @maxLength 19 */ color?: string | null; /** Stop position (0-1). */ position?: number | null; } interface Border { /** * Deprecated: Use `borderWidth` in `styles` instead. * @deprecated */ width?: number | null; /** * Deprecated: Use `borderRadius` in `styles` instead. * @deprecated */ radius?: number | null; } interface Colors { /** * Deprecated: Use `textColor` in `styles` instead. * @deprecated */ text?: string | null; /** * Deprecated: Use `borderColor` in `styles` instead. * @deprecated */ border?: string | null; /** * Deprecated: Use `backgroundColor` in `styles` instead. * @deprecated */ background?: string | null; } /** Background styling (color or gradient) */ interface Background { /** Background type. */ type?: BackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } interface PluginContainerData { /** The width of the node when it's displayed. */ width?: PluginContainerDataWidth; /** The node's alignment within its container. */ alignment?: PluginContainerDataAlignmentWithLiterals; /** 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; } 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" } /** @enumType */ type WidthTypeWithLiterals = WidthType | 'CONTENT' | 'SMALL' | 'ORIGINAL' | 'FULL_WIDTH'; 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?: WidthTypeWithLiterals; /** A custom width value in pixels. */ custom?: string | null; } /** @oneof */ 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?: WidthTypeWithLiterals; /** A custom width value in pixels. */ custom?: string | null; } declare enum PluginContainerDataAlignment { /** Center Alignment */ CENTER = "CENTER", /** Left Alignment */ LEFT = "LEFT", /** Right Alignment */ RIGHT = "RIGHT" } /** @enumType */ type PluginContainerDataAlignmentWithLiterals = PluginContainerDataAlignment | 'CENTER' | 'LEFT' | 'RIGHT'; 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; } interface Height { /** A custom height value in pixels. */ custom?: string | null; } declare enum ButtonDataType { /** Regular link button */ LINK = "LINK", /** Triggers custom action that is defined in plugin configuration by the consumer */ ACTION = "ACTION" } /** @enumType */ type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION'; interface Styles { /** * Deprecated: Use `borderWidth` and `borderRadius` instead. * @deprecated */ border?: Border; /** * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead. * @deprecated */ colors?: Colors; /** Border width in pixels. */ borderWidth?: number | null; /** * Deprecated: Use `borderWidth` for normal/hover states instead. * @deprecated */ borderWidthHover?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** * Border color as a hexadecimal value (hover state). * @maxLength 19 */ borderColorHover?: string | null; /** * Text color as a hexadecimal value. * @maxLength 19 */ textColor?: string | null; /** * Text color as a hexadecimal value (hover state). * @maxLength 19 */ textColorHover?: string | null; /** * Deprecated: Use `background` instead. * @maxLength 19 * @deprecated */ backgroundColor?: string | null; /** * Deprecated: Use `backgroundHover` instead. * @maxLength 19 * @deprecated */ backgroundColorHover?: string | null; /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */ buttonSize?: string | null; /** Background styling (color or gradient). */ background?: Background; /** Background styling for hover state (color or gradient). */ backgroundHover?: Background; } 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?: TargetWithLiterals; /** 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 */ 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; } 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" } /** @enumType */ type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP'; 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; } interface Animation { /** Animation kind. */ type?: TypeWithLiterals; /** Entrance animation, played once when the node first enters the viewport (VIEW). */ entrance?: EntranceAnimation; /** Looping animation, repeated indefinitely while the node is on the page. When combined with entrance, the loop starts after the entrance finishes (VIEW). */ loop?: LoopAnimation; /** * POINTER carries its fields directly on the union member in the JTD wall, hence * flat fields here (ts-proto camelCase must equal the JTD property names). A future * kind that also needs an `effect` field would contend for this JSON name. */ effect?: PointerEffect; /** How quickly the node settles toward the pointer, in milliseconds (POINTER). */ transitionDuration?: number | null; } declare enum Type { /** Animations that play while the node is in view. */ VIEW = "VIEW", /** Animations driven by the visitor's mouse position. */ POINTER = "POINTER" } /** @enumType */ type TypeWithLiterals = Type | 'VIEW' | 'POINTER'; interface EntranceAnimation { /** The entrance effect to play. */ effect?: EntranceEffect; /** Effect duration in milliseconds. Each effect has its own default. */ duration?: number | null; /** Delay before the effect starts, in milliseconds. */ delay?: number | null; } interface EntranceEffect { /** The entrance effect type. */ type?: EntranceEffectTypeWithLiterals; /** * Direction the effect enters from. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, the diagonals with or without CENTER, corners, HORIZONTAL/VERTICAL, CLOCKWISE/COUNTER_CLOCKWISE). * @maxLength 20 */ direction?: string | null; /** * Clip-path shape: ELLIPSE, CIRCLE, RECTANGLE, or DIAMOND (SHAPE). * @maxLength 12 */ shape?: string | null; /** * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it. * @maxLength 100 */ easing?: string | null; } declare enum EntranceEffectType { /** Fades in from fully transparent to fully opaque. */ FADE = "FADE", /** Enters along a 3D arc path. */ ARC = "ARC", /** Transitions from blurred to sharp. */ BLUR = "BLUR", /** Bounces into place with an elastic curve. */ BOUNCE = "BOUNCE", /** Shrinks down from a larger size. */ DROP = "DROP", /** Expands from a point, scaling to full size. */ EXPAND = "EXPAND", /** Flips into view with a 3D rotation. */ FLIP = "FLIP", /** Drifts gently into place. */ FLOAT = "FLOAT", /** Unfolds from an edge as if hinged. */ FOLD = "FOLD", /** Glides in smoothly from off-screen. */ GLIDE = "GLIDE", /** Progressively revealed by an expanding clip-path. */ REVEAL = "REVEAL", /** Appears through an expanding geometric clip-path shape. */ SHAPE = "SHAPE", /** Revealed through shutter-like strips. */ SHUTTERS = "SHUTTERS", /** Slides in from one side. */ SLIDE = "SLIDE", /** Spins into view while scaling up. */ SPIN = "SPIN", /** Tilts in from the side with 3D rotation. */ TILT = "TILT", /** Rotates into view around a corner pivot. */ TURN = "TURN", /** Expands from its horizontal or vertical center. */ WINK = "WINK" } /** @enumType */ type EntranceEffectTypeWithLiterals = EntranceEffectType | 'FADE' | 'ARC' | 'BLUR' | 'BOUNCE' | 'DROP' | 'EXPAND' | 'FLIP' | 'FLOAT' | 'FOLD' | 'GLIDE' | 'REVEAL' | 'SHAPE' | 'SHUTTERS' | 'SLIDE' | 'SPIN' | 'TILT' | 'TURN' | 'WINK'; interface LoopAnimation { /** The looping effect to repeat. */ effect?: LoopEffect; /** Duration of a single iteration in milliseconds. Each effect has its own default. */ duration?: number | null; /** Pause between iterations in milliseconds. */ iterationDelay?: number | null; } interface LoopEffect { /** The looping effect type. */ type?: LoopEffectTypeWithLiterals; /** * Direction of the effect. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, LEFT/RIGHT, HORIZONTAL/VERTICAL with or without CENTER, CLOCKWISE/COUNTER_CLOCKWISE). * @maxLength 20 */ direction?: string | null; /** * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it. * @maxLength 100 */ easing?: string | null; } declare enum LoopEffectType { /** Bounces up and down in place. */ BOUNCE = "BOUNCE", /** Scales gently in and out along an axis. */ BREATHE = "BREATHE", /** Drifts toward one side, then re-enters from the opposite side. */ CROSS = "CROSS", /** Fades out to fully transparent and back in. */ FLASH = "FLASH", /** Rotates a full turn around its horizontal or vertical axis. */ FLIP = "FLIP", /** Folds back and forth around a hinged edge. */ FOLD = "FOLD", /** Wobbles with a jelly-like skew. */ JELLO = "JELLO", /** Nudges repeatedly toward a direction. */ POKE = "POKE", /** Scales up and back down rhythmically. */ PULSE = "PULSE", /** Stretches and squashes like a rubber band. */ RUBBER = "RUBBER", /** Rotates continuously around its center. */ SPIN = "SPIN", /** Swings back and forth around an edge pivot. */ SWING = "SWING", /** Rocks side to side with an accumulating rotation. */ WIGGLE = "WIGGLE" } /** @enumType */ type LoopEffectTypeWithLiterals = LoopEffectType | 'BOUNCE' | 'BREATHE' | 'CROSS' | 'FLASH' | 'FLIP' | 'FOLD' | 'JELLO' | 'POKE' | 'PULSE' | 'RUBBER' | 'SPIN' | 'SWING' | 'WIGGLE'; interface PointerEffect { /** The mouse effect type. */ type?: PointerEffectTypeWithLiterals; /** Reacts away from the pointer instead of toward it. */ inverted?: boolean | null; /** * One field, two value spaces (the effect type says which): the axis the movement is constrained to — HORIZONTAL, VERTICAL, or BOTH (AIRY, SCALE, SKEW, TRACK, TRACK_3D) — or the edge/center axis the node swivels around — TOP, BOTTOM, LEFT, RIGHT, CENTER_HORIZONTAL, or CENTER_VERTICAL (SWIVEL). Only the effects that expose one accept it. * @maxLength 20 */ axis?: string | null; /** * Whether the node grows or shrinks as the pointer nears: UP or DOWN (SCALE). * @maxLength 8 */ direction?: string | null; /** * Motion style: GENTLE, MODERATE, or INTENSE. * @maxLength 100 */ easing?: string | null; } declare enum PointerEffectType { /** Drifts loosely after the pointer with a light rotation. */ AIRY = "AIRY", /** Squashes and stretches toward the pointer. */ BLOB = "BLOB", /** Shifts after the pointer while blurring. */ BLUR = "BLUR", /** Scales as the pointer approaches. */ SCALE = "SCALE", /** Skews toward the pointer. */ SKEW = "SKEW", /** Rotates around a pivot edge or axis, following the pointer. */ SWIVEL = "SWIVEL", /** Tilts in 3D perspective toward the pointer. */ TILT_3D = "TILT_3D", /** Follows the pointer's position. */ TRACK = "TRACK", /** Follows the pointer with a 3D depth motion. */ TRACK_3D = "TRACK_3D" } /** @enumType */ type PointerEffectTypeWithLiterals = PointerEffectType | 'AIRY' | 'BLOB' | 'BLUR' | 'SCALE' | 'SKEW' | 'SWIVEL' | 'TILT_3D' | 'TRACK' | 'TRACK_3D'; interface CodeBlockData { /** Styling for the code block's text. */ textStyle?: TextStyle; /** Node animation. */ animation?: Animation; } interface TextStyle { /** Text alignment. Defaults to `AUTO`. */ textAlignment?: TextAlignmentWithLiterals; /** 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; } 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" } /** @enumType */ type TextAlignmentWithLiterals = TextAlignment | 'AUTO' | 'LEFT' | 'RIGHT' | 'CENTER' | 'JUSTIFY'; interface DividerData { /** Styling for the divider's container. */ containerData?: PluginContainerData; /** Divider line style. */ lineStyle?: LineStyleWithLiterals; /** Divider width. */ width?: WidthWithLiterals; /** Divider alignment. */ alignment?: DividerDataAlignmentWithLiterals; /** Visual styling for the divider lines. */ styles?: DividerDataStyles; /** Node animation. */ animation?: Animation; } declare enum LineCap { /** Square line endings. */ SQUARE = "SQUARE", /** Rounded line endings. */ ROUND = "ROUND" } /** @enumType */ type LineCapWithLiterals = LineCap | 'SQUARE' | 'ROUND'; declare enum LineStyle { /** Single Line */ SINGLE = "SINGLE", /** Double Line */ DOUBLE = "DOUBLE", /** Dashed Line */ DASHED = "DASHED", /** Dotted Line */ DOTTED = "DOTTED" } /** @enumType */ type LineStyleWithLiterals = LineStyle | 'SINGLE' | 'DOUBLE' | 'DASHED' | 'DOTTED'; declare enum Width { /** Large line */ LARGE = "LARGE", /** Medium line */ MEDIUM = "MEDIUM", /** Small line */ SMALL = "SMALL" } /** @enumType */ type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL'; declare enum DividerDataAlignment { /** Center alignment */ CENTER = "CENTER", /** Left alignment */ LEFT = "LEFT", /** Right alignment */ RIGHT = "RIGHT" } /** @enumType */ type DividerDataAlignmentWithLiterals = DividerDataAlignment | 'CENTER' | 'LEFT' | 'RIGHT'; interface DividerDataStyles { /** * Divider color as a hexadecimal value. An alpha channel controls opacity. * @maxLength 19 */ color?: string | null; /** Divider line ending shape. */ lineCap?: LineCapWithLiterals; /** * Line thicknesses in pixels, ordered from first line to last line. * @maxSize 10 */ lineThickness?: number[]; /** Visible dash length for dashed dividers, in pixels. The pattern is snapped to a whole number of dashes so that the first and last dash touch the divider's edges - narrower containers show fewer dashes at the same size. */ dashLength?: number | null; /** Visible gap between dashes or dots, in pixels. */ dashGap?: number | null; /** Gap between divider lines in pixels. */ lineGap?: number | null; } 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; /** Node animation. */ animation?: Animation; } declare enum ViewMode { /** No PDF view */ NONE = "NONE", /** Full PDF view */ FULL = "FULL", /** Mini PDF view */ MINI = "MINI" } /** @enumType */ type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI'; 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 */ 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; } 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?: ViewModeWithLiterals; /** 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; } 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; /** Node animation. */ animation?: Animation; } 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; } interface Image { /** Image file details. */ media?: Media; /** Link details for images that are links. */ link?: Link; } interface Video { /** Video file details. */ media?: Media; /** Video thumbnail file details. */ thumbnail?: Media; } 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 */ interface ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; } interface GalleryOptions { /** Gallery layout. */ layout?: GalleryOptionsLayout; /** Styling for gallery items. */ item?: ItemStyle; /** Styling for gallery thumbnail images. */ thumbnails?: Thumbnails; } 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" } /** @enumType */ type LayoutTypeWithLiterals = LayoutType | 'COLLAGE' | 'MASONRY' | 'GRID' | 'THUMBNAIL' | 'SLIDER' | 'SLIDESHOW' | 'PANORAMA' | 'COLUMN' | 'MAGIC' | 'FULLSIZE'; declare enum Orientation { /** Rows Orientation */ ROWS = "ROWS", /** Columns Orientation */ COLUMNS = "COLUMNS" } /** @enumType */ type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS'; declare enum Crop { /** Crop to fill */ FILL = "FILL", /** Crop to fit */ FIT = "FIT" } /** @enumType */ type CropWithLiterals = Crop | 'FILL' | 'FIT'; declare enum ThumbnailsAlignment { /** Top alignment */ TOP = "TOP", /** Right alignment */ RIGHT = "RIGHT", /** Bottom alignment */ BOTTOM = "BOTTOM", /** Left alignment */ LEFT = "LEFT", /** No thumbnail */ NONE = "NONE" } /** @enumType */ type ThumbnailsAlignmentWithLiterals = ThumbnailsAlignment | 'TOP' | 'RIGHT' | 'BOTTOM' | 'LEFT' | 'NONE'; interface GalleryOptionsLayout { /** Gallery layout type. */ type?: LayoutTypeWithLiterals; /** 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?: OrientationWithLiterals; /** 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; } 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?: CropWithLiterals; /** The spacing between items in pixels. */ spacing?: number | null; } interface Thumbnails { /** Thumbnail alignment. */ placement?: ThumbnailsAlignmentWithLiterals; /** Spacing between thumbnails in pixels. */ spacing?: number | null; } 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 NORMAL). Defaults to `NORMAL`. */ gifType?: GIFTypeWithLiterals; /** Node animation. */ animation?: Animation; } interface GIF { /** * GIF format URL. * @format WEB_URL */ gif?: string | null; /** * MP4 format URL. * @format WEB_URL */ mp4?: string | null; /** * Thumbnail URL. * @format WEB_URL */ still?: string | null; } declare enum GIFType { NORMAL = "NORMAL", STICKER = "STICKER" } /** @enumType */ type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER'; interface HeadingData { /** Heading level from 1-6. */ level?: number; /** Styling for the heading text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; /** Rendered heading level for SEO/accessibility, overrides the HTML tag when set. */ renderedLevel?: number | null; /** Node animation. */ animation?: Animation; } 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; /** The WixelWidget ID for AI_WIDGET source nodes. */ widgetId?: string; /** 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?: SourceWithLiterals; /** If container height is aligned with its content height. Defaults to `true`. */ autoHeight?: boolean | null; /** Node animation. */ animation?: Animation; } /** @oneof */ 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; /** The WixelWidget ID for AI_WIDGET source nodes. */ widgetId?: string; } declare enum Source { HTML = "HTML", ADSENSE = "ADSENSE", AI = "AI", AI_WIDGET = "AI_WIDGET" } /** @enumType */ type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI' | 'AI_WIDGET'; 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; /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */ decorative?: boolean | null; /** Styling for the image. */ styles?: ImageDataStyles; /** Non-destructive crop rectangle, expressed as fractions (0-1) of the original image. When omitted, the full image is shown. */ crop?: ImageDataCrop; /** Optional shape mask applied to the visible crop. Supported values: CIRCLE, OVAL, STAR, PENTAGON, HEXAGON, TRIANGLE, HEART, RHOMBUS, FLUID, WINDOW. */ cropShape?: string | null; /** Node animation. */ animation?: Animation; } interface StylesBorder { /** Border width in pixels. */ width?: number | null; /** * Border color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Border radius in pixels. */ radius?: number | null; } interface ImageDataStyles { /** Border attributes. */ border?: StylesBorder; } interface ImageDataCrop { /** Left edge of the crop, as a fraction (0-1) of the original image width. */ x?: number | null; /** Top edge of the crop, as a fraction (0-1) of the original image height. */ y?: number | null; /** Visible width of the crop, as a fraction (0-1) of the original image width. */ width?: number | null; /** Visible height of the crop, as a fraction (0-1) of the original image height. */ height?: number | null; } 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; /** Styling for the link preview. */ styles?: LinkPreviewDataStyles; /** Node animation. */ animation?: Animation; } declare enum StylesPosition { /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */ START = "START", /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */ END = "END", /** Thumbnail positioned at the top */ TOP = "TOP", /** Thumbnail hidden and not displayed */ HIDDEN = "HIDDEN" } /** @enumType */ type StylesPositionWithLiterals = StylesPosition | 'START' | 'END' | 'TOP' | 'HIDDEN'; interface LinkPreviewDataStyles { /** * Background color as a hexadecimal value. * @maxLength 19 */ backgroundColor?: string | null; /** * Title color as a hexadecimal value. * @maxLength 19 */ titleColor?: string | null; /** * Subtitle color as a hexadecimal value. * @maxLength 19 */ subtitleColor?: string | null; /** * Link color as a hexadecimal value. * @maxLength 19 */ linkColor?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** Position of thumbnail. Defaults to `START`. */ thumbnailPosition?: StylesPositionWithLiterals; } interface MapData { /** Styling for the map's container. */ containerData?: PluginContainerData; /** Map settings. */ mapSettings?: MapSettings; } 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?: MapTypeWithLiterals; } declare enum MapType { /** Roadmap map type */ ROADMAP = "ROADMAP", /** Satellite map type */ SATELITE = "SATELITE", /** Hybrid map type */ HYBRID = "HYBRID", /** Terrain map type */ TERRAIN = "TERRAIN" } /** @enumType */ type MapTypeWithLiterals = MapType | 'ROADMAP' | 'SATELITE' | 'HYBRID' | 'TERRAIN'; interface ParagraphData { /** Styling for the paragraph text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; /** Paragraph level */ level?: number | null; /** Node animation. */ animation?: Animation; } 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; /** Node animation. */ animation?: Animation; } 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" } /** @enumType */ type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE'; declare enum VoteRole { /** Logged in member */ SITE_MEMBERS = "SITE_MEMBERS", /** Anyone */ ALL = "ALL" } /** @enumType */ type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL'; interface Permissions { /** Sets who can view the poll results. */ view?: ViewRoleWithLiterals; /** Sets who can vote. */ vote?: VoteRoleWithLiterals; /** Sets whether one voter can vote multiple times. Defaults to `false`. */ allowMultipleVotes?: boolean | null; } interface Option { /** Option ID. */ id?: string | null; /** Option title. */ title?: string | null; /** The image displayed with the option. */ image?: Media; } 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; } declare enum PollLayoutType { /** List */ LIST = "LIST", /** Grid */ GRID = "GRID" } /** @enumType */ type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID'; declare enum PollLayoutDirection { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } /** @enumType */ type PollLayoutDirectionWithLiterals = PollLayoutDirection | 'LTR' | 'RTL'; interface PollLayout { /** The layout for displaying the voting options. */ type?: PollLayoutTypeWithLiterals; /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */ direction?: PollLayoutDirectionWithLiterals; /** Sets whether to display the main poll image. Defaults to `false`. */ enableImage?: boolean | null; } interface OptionLayout { /** Sets whether to display option images. Defaults to `false`. */ enableImage?: boolean | null; } declare enum PollDesignBackgroundType { /** Color background type */ COLOR = "COLOR", /** Image background type */ IMAGE = "IMAGE", /** Gradiant background type */ GRADIENT = "GRADIENT" } /** @enumType */ type PollDesignBackgroundTypeWithLiterals = PollDesignBackgroundType | 'COLOR' | 'IMAGE' | 'GRADIENT'; interface BackgroundGradient { /** The gradient angle in degrees. */ angle?: number | null; /** * The start color as a hexademical value. * @maxLength 19 */ startColor?: string | null; /** * The end color as a hexademical value. * @maxLength 19 */ lastColor?: string | null; } interface PollDesignBackground extends PollDesignBackgroundBackgroundOneOf { /** * The background color as a hexademical value. * @maxLength 19 */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: BackgroundGradient; /** Background type. For each option, include the relevant details. */ type?: PollDesignBackgroundTypeWithLiterals; } /** @oneof */ interface PollDesignBackgroundBackgroundOneOf { /** * The background color as a hexademical value. * @maxLength 19 */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: BackgroundGradient; } interface PollDesign { /** Background styling. */ background?: PollDesignBackground; /** Border radius in pixels. */ borderRadius?: number | null; } interface OptionDesign { /** Border radius in pixels. */ borderRadius?: number | null; } 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; } interface PollDataLayout { /** Poll layout settings. */ poll?: PollLayout; /** Voting otpions layout settings. */ options?: OptionLayout; } interface Design { /** Styling for the poll. */ poll?: PollDesign; /** Styling for voting options. */ options?: OptionDesign; } interface TextData { /** The text to apply decorations to. */ text?: string; /** The decorations to apply. */ decorations?: Decoration[]; } /** Adds appearence changes to text */ 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; /** Data for a strikethrough decoration. Defaults to `true`. */ strikethroughData?: boolean | null; /** Data for a superscript decoration. Defaults to `true`. */ superscriptData?: boolean | null; /** Data for a subscript decoration. Defaults to `true`. */ subscriptData?: boolean | null; /** Data for a font family decoration. */ fontFamilyData?: FontFamilyData; /** Data for a hand-drawn sketch annotation decoration. */ sketchData?: SketchData; /** The type of decoration to apply. */ type?: DecorationTypeWithLiterals; } /** @oneof */ 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; /** Data for a strikethrough decoration. Defaults to `true`. */ strikethroughData?: boolean | null; /** Data for a superscript decoration. Defaults to `true`. */ superscriptData?: boolean | null; /** Data for a subscript decoration. Defaults to `true`. */ subscriptData?: boolean | null; /** Data for a font family decoration. */ fontFamilyData?: FontFamilyData; /** Data for a hand-drawn sketch annotation decoration. */ sketchData?: SketchData; } 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", STRIKETHROUGH = "STRIKETHROUGH", SUPERSCRIPT = "SUPERSCRIPT", SUBSCRIPT = "SUBSCRIPT", FONT_FAMILY = "FONT_FAMILY", SKETCH = "SKETCH" } /** @enumType */ type DecorationTypeWithLiterals = DecorationType | 'BOLD' | 'ITALIC' | 'UNDERLINE' | 'SPOILER' | 'ANCHOR' | 'MENTION' | 'LINK' | 'COLOR' | 'FONT_SIZE' | 'EXTERNAL' | 'STRIKETHROUGH' | 'SUPERSCRIPT' | 'SUBSCRIPT' | 'FONT_FAMILY' | 'SKETCH'; interface AnchorData { /** The target node's ID. */ anchor?: string; } interface ColorData { /** * Deprecated: Use `backgroundStyle` instead. The text's background color as a hexadecimal value. * @deprecated */ background?: string | null; /** * Deprecated: Use `foregroundStyle` instead. The text's foreground color as a hexadecimal value. * @deprecated */ foreground?: string | null; /** Text fill styling (color or gradient). When present, takes precedence over `foreground`. */ foregroundStyle?: ColorDataBackground; /** Text background (highlight) styling (color or gradient). When present, takes precedence over `background`. */ backgroundStyle?: ColorDataBackground; } /** Background type */ declare enum ColorDataBackgroundType { /** Solid color */ COLOR = "COLOR", /** Gradient */ GRADIENT = "GRADIENT" } /** @enumType */ type ColorDataBackgroundTypeWithLiterals = ColorDataBackgroundType | 'COLOR' | 'GRADIENT'; /** Fill styling (color or gradient) */ interface ColorDataBackground { /** Background type. */ type?: ColorDataBackgroundTypeWithLiterals; /** * Color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } interface LinkData { /** Link details. */ link?: Link; } 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; /** The kind of entity the mention refers to. Any value is accepted, and it's usually used to mark a mention as a group mention (for example, `group`). When empty, the mention refers to a member. */ type?: string | null; } interface FontSizeData { /** The units used for the font size. */ unit?: FontTypeWithLiterals; /** Font size value. */ value?: number | null; } declare enum FontType { PX = "PX", EM = "EM" } /** @enumType */ type FontTypeWithLiterals = FontType | 'PX' | 'EM'; interface SpoilerData { /** Spoiler ID. */ id?: string | null; } interface FontFamilyData { /** @maxLength 1000 */ value?: string | null; } interface SketchData { /** The sketch annotation variant to draw over the text. */ variant?: VariantWithLiterals; /** * Annotation color. Defaults to the theme action color. * @maxLength 19 */ color?: string | null; /** Whether the annotation animates on first paint. Defaults to `true`. */ animate?: boolean | null; } declare enum Variant { UNDERLINE = "UNDERLINE", BOX = "BOX", CIRCLE = "CIRCLE", HIGHLIGHT = "HIGHLIGHT", STRIKETHROUGH = "STRIKETHROUGH", CROSSED_OFF = "CROSSED_OFF" } /** @enumType */ type VariantWithLiterals = Variant | 'UNDERLINE' | 'BOX' | 'CIRCLE' | 'HIGHLIGHT' | 'STRIKETHROUGH' | 'CROSSED_OFF'; 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?: AppTypeWithLiterals; /** 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; /** Whether to hide the image. */ hideImage?: boolean | null; /** Whether to hide the title. */ hideTitle?: boolean | null; /** Whether to hide the price. */ hidePrice?: boolean | null; /** Whether to hide the description (Event and Booking). */ hideDescription?: boolean | null; /** Whether to hide the date and time (Event). */ hideDateTime?: boolean | null; /** Whether to hide the location (Event). */ hideLocation?: boolean | null; /** Whether to hide the duration (Booking). */ hideDuration?: boolean | null; /** Whether to hide the button. */ hideButton?: boolean | null; /** Whether to hide the ribbon. */ hideRibbon?: boolean | null; /** Button styling options. */ buttonStyles?: ButtonStyles; /** Image styling options. */ imageStyles?: ImageStyles; /** Ribbon styling options. */ ribbonStyles?: RibbonStyles; /** Card styling options. */ cardStyles?: CardStyles; /** Styling for the app embed's container. */ containerData?: PluginContainerData; /** Pricing data for embedded Wix App content. */ pricingData?: PricingData; /** Node animation. */ animation?: Animation; } /** @oneof */ interface AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; } declare enum Position { /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */ START = "START", /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */ END = "END", /** Image positioned at the top */ TOP = "TOP" } /** @enumType */ type PositionWithLiterals = Position | 'START' | 'END' | 'TOP'; declare enum AspectRatio { /** 1:1 aspect ratio */ SQUARE = "SQUARE", /** 16:9 aspect ratio */ RECTANGLE = "RECTANGLE" } /** @enumType */ type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE'; declare enum Resizing { /** Fill the container, may crop the image */ FILL = "FILL", /** Fit the image within the container */ FIT = "FIT" } /** @enumType */ type ResizingWithLiterals = Resizing | 'FILL' | 'FIT'; declare enum Placement { /** Ribbon placed on the image */ IMAGE = "IMAGE", /** Ribbon placed on the product information */ PRODUCT_INFO = "PRODUCT_INFO" } /** @enumType */ type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO'; declare enum CardStylesType { /** Card with visible border and background */ CONTAINED = "CONTAINED", /** Card without visible border */ FRAMELESS = "FRAMELESS" } /** @enumType */ type CardStylesTypeWithLiterals = CardStylesType | 'CONTAINED' | 'FRAMELESS'; declare enum Alignment { /** Content aligned to start (left in LTR layouts, right in RTL layouts) */ START = "START", /** Content centered */ CENTER = "CENTER", /** Content aligned to end (right in LTR layouts, left in RTL layouts) */ END = "END" } /** @enumType */ type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END'; declare enum Layout { /** Elements stacked vertically */ STACKED = "STACKED", /** Elements arranged horizontally */ SIDE_BY_SIDE = "SIDE_BY_SIDE" } /** @enumType */ type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE'; declare enum AppType { PRODUCT = "PRODUCT", EVENT = "EVENT", BOOKING = "BOOKING" } /** @enumType */ type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING'; interface BookingData { /** Booking duration in minutes. */ durations?: string | null; } interface EventData { /** Event schedule. */ scheduling?: string | null; /** Event location. */ location?: string | null; } interface ButtonStyles { /** Text to display on the button. */ buttonText?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** * Text color as a hexadecimal value. * @maxLength 19 */ textColor?: string | null; /** * Background color as a hexadecimal value. * @maxLength 19 */ backgroundColor?: string | null; /** * Border color as a hexadecimal value (hover state). * @maxLength 19 */ borderColorHover?: string | null; /** * Text color as a hexadecimal value (hover state). * @maxLength 19 */ textColorHover?: string | null; /** * Background color as a hexadecimal value (hover state). * @maxLength 19 */ backgroundColorHover?: string | null; /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */ buttonSize?: string | null; } interface ImageStyles { /** Whether to hide the image. */ hideImage?: boolean | null; /** Position of image. Defaults to `START`. */ imagePosition?: PositionWithLiterals; /** Aspect ratio for the image. Defaults to `SQUARE`. */ aspectRatio?: AspectRatioWithLiterals; /** How the image should be resized. Defaults to `FILL`. */ resizing?: ResizingWithLiterals; /** * Image border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** Image border width in pixels. */ borderWidth?: number | null; /** Image border radius in pixels. */ borderRadius?: number | null; } interface RibbonStyles { /** Text to display on the ribbon. */ ribbonText?: string | null; /** * Ribbon background color as a hexadecimal value. * @maxLength 19 */ backgroundColor?: string | null; /** * Ribbon text color as a hexadecimal value. * @maxLength 19 */ textColor?: string | null; /** * Ribbon border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** Ribbon border width in pixels. */ borderWidth?: number | null; /** Ribbon border radius in pixels. */ borderRadius?: number | null; /** Placement of the ribbon. Defaults to `IMAGE`. */ ribbonPlacement?: PlacementWithLiterals; } interface CardStyles { /** * Card background color as a hexadecimal value. * @maxLength 19 */ backgroundColor?: string | null; /** * Card border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** Card border width in pixels. */ borderWidth?: number | null; /** Card border radius in pixels. */ borderRadius?: number | null; /** Card type. Defaults to `CONTAINED`. */ type?: CardStylesTypeWithLiterals; /** Content alignment. Defaults to `START`. */ alignment?: AlignmentWithLiterals; /** Layout for title and price. Defaults to `STACKED`. */ titlePriceLayout?: LayoutWithLiterals; /** * Title text color as a hexadecimal value. * @maxLength 19 */ titleColor?: string | null; /** * Text color as a hexadecimal value. * @maxLength 19 */ textColor?: string | null; } interface PricingData { /** * Minimum numeric price value as string (e.g., "10.99"). * @decimalValue options { maxScale:2 } */ valueFrom?: string | null; /** * Maximum numeric price value as string (e.g., "19.99"). * @decimalValue options { maxScale:2 } */ valueTo?: string | null; /** * Numeric price value as string after discount application (e.g., "15.99"). * @decimalValue options { maxScale:2 } */ discountedValue?: string | null; /** * Currency of the value in ISO 4217 format (e.g., "USD", "EUR"). * @format CURRENCY */ currency?: string | null; /** * Pricing plan ID. * @format GUID */ pricingPlanId?: string | null; } 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; /** Node animation. */ animation?: Animation; } 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; } 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; /** Node animation. */ animation?: Animation; } 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; } 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?: InitialExpandedItemsWithLiterals; /** The direction of the text in the list. Either left-to-right or right-to-left. */ direction?: DirectionWithLiterals; /** If `true`, The collapsible item will appear in search results as an FAQ. */ isQapageData?: boolean | null; /** Node animation. */ animation?: Animation; } declare enum InitialExpandedItems { /** First item will be expended initally */ FIRST = "FIRST", /** All items will expended initally */ ALL = "ALL", /** All items collapsed initally */ NONE = "NONE" } /** @enumType */ type InitialExpandedItemsWithLiterals = InitialExpandedItems | 'FIRST' | 'ALL' | 'NONE'; declare enum Direction { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } /** @enumType */ type DirectionWithLiterals = Direction | 'LTR' | 'RTL'; 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; /** The spacing between cells in pixels. Defaults to `0`. */ cellSpacing?: number | null; /** * Padding in pixels for cells. Follows CSS order: top, right, bottom, left. * @maxSize 4 */ cellPadding?: number[]; /** Table's alternative text. */ altText?: string | null; /** Node animation. */ animation?: Animation; } 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[]; } interface TableCellData { /** Styling for the cell's background color and text alignment. */ cellStyle?: CellStyle; /** The cell's border colors. */ borderColors?: BorderColors; /** Defines how many columns the cell spans. Default: 1. */ colspan?: number | null; /** Defines how many rows the cell spans. Default: 1. */ rowspan?: number | null; /** The cell's border widths. */ borderWidths?: BorderWidths; } declare enum VerticalAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } /** @enumType */ type VerticalAlignmentWithLiterals = VerticalAlignment | 'TOP' | 'MIDDLE' | 'BOTTOM'; interface CellStyle { /** Vertical alignment for the cell's text. */ verticalAlignment?: VerticalAlignmentWithLiterals; /** * Cell background color as a hexadecimal value. * @maxLength 19 */ backgroundColor?: string | null; } interface BorderColors { /** * Left border color as a hexadecimal value. * @maxLength 19 */ left?: string | null; /** * Right border color as a hexadecimal value. * @maxLength 19 */ right?: string | null; /** * Top border color as a hexadecimal value. * @maxLength 19 */ top?: string | null; /** * Bottom border color as a hexadecimal value. * @maxLength 19 */ bottom?: string | null; } interface BorderWidths { /** Left border width in pixels. */ left?: number | null; /** Right border width in pixels. */ right?: number | null; /** Top border width in pixels. */ top?: number | null; /** Bottom border width in pixels. */ bottom?: number | null; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. */ declare enum NullValue { /** Null value. */ NULL_VALUE = "NULL_VALUE" } /** @enumType */ type NullValueWithLiterals = NullValue | 'NULL_VALUE'; /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. */ interface ListValue { /** Repeated field of dynamically typed values. */ values?: any[]; } 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; /** Node animation. */ animation?: Animation; } interface OrderedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** List start number. */ start?: number | null; /** Node animation. */ animation?: Animation; } interface BulletedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** Node animation. */ animation?: Animation; } interface BlockquoteData { /** Indentation level from 1-4. */ indentation?: number; /** Node animation. */ animation?: Animation; } interface CaptionData { textStyle?: TextStyle; } interface LayoutData { /** * Deprecated: Use `background` instead. * @maxLength 19 * @deprecated */ backgroundColor?: string | null; /** Background image. */ backgroundImage?: LayoutDataBackgroundImage; /** * Border color as a hexadecimal value. * @maxLength 19 */ borderColor?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Deprecated: Use `backdrop` instead. * @maxLength 19 * @deprecated */ backdropColor?: string | null; /** Backdrop image. */ backdropImage?: LayoutDataBackgroundImage; /** Backdrop top padding. */ backdropPaddingTop?: number | null; /** Backdrop bottom padding */ backdropPaddingBottom?: number | null; /** Horizontal and vertical gap between columns */ gap?: number | null; /** * Padding in pixels for cells. Follows CSS order: top, right, bottom, left * @maxSize 4 */ cellPadding?: number[]; /** Vertical alignment for the cell's items. */ cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals; /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */ responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals; /** Size in pixels when responsiveness_behaviour applies */ responsivenessBreakpoint?: number | null; /** Styling for the layout's container. */ containerData?: PluginContainerData; /** Defines where selected design propertied applies to */ designTarget?: DesignTargetWithLiterals; /** Banner configuration. When present, this layout is attached to a document edge (top or bottom). */ banner?: Banner; /** Background styling (color or gradient). */ background?: LayoutDataBackground; /** Backdrop styling (color or gradient). */ backdrop?: Backdrop; /** Node animation. */ animation?: Animation; /** Shape divider at the top edge of the layout. */ topDivider?: SectionDivider; /** Shape divider at the bottom edge of the layout. */ bottomDivider?: SectionDivider; } declare enum ImageScalingScaling { /** Auto image scaling */ AUTO = "AUTO", /** Contain image scaling */ CONTAIN = "CONTAIN", /** Cover image scaling */ COVER = "COVER" } /** @enumType */ type ImageScalingScalingWithLiterals = ImageScalingScaling | 'AUTO' | 'CONTAIN' | 'COVER'; declare enum ImagePosition { /** Image positioned at the center */ CENTER = "CENTER", /** Image positioned on the left */ CENTER_LEFT = "CENTER_LEFT", /** Image positioned on the right */ CENTER_RIGHT = "CENTER_RIGHT", /** Image positioned at the center top */ TOP = "TOP", /** Image positioned at the top left */ TOP_LEFT = "TOP_LEFT", /** Image positioned at the top right */ TOP_RIGHT = "TOP_RIGHT", /** Image positioned at the center bottom */ BOTTOM = "BOTTOM", /** Image positioned at the bottom left */ BOTTOM_LEFT = "BOTTOM_LEFT", /** Image positioned at the bottom right */ BOTTOM_RIGHT = "BOTTOM_RIGHT" } /** @enumType */ type ImagePositionWithLiterals = ImagePosition | 'CENTER' | 'CENTER_LEFT' | 'CENTER_RIGHT' | 'TOP' | 'TOP_LEFT' | 'TOP_RIGHT' | 'BOTTOM' | 'BOTTOM_LEFT' | 'BOTTOM_RIGHT'; /** Background styling (color or gradient) */ interface LayoutDataBackground { /** Background type. */ type?: LayoutDataBackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } /** Background type */ declare enum LayoutDataBackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type LayoutDataBackgroundTypeWithLiterals = LayoutDataBackgroundType | 'COLOR' | 'GRADIENT'; declare enum Origin { /** Banner originated from an image */ IMAGE = "IMAGE", /** Banner originated from a layout */ LAYOUT = "LAYOUT" } /** @enumType */ type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT'; declare enum BannerPosition { /** Attached to the top edge (banner) */ TOP = "TOP", /** Attached to the bottom edge (footer) */ BOTTOM = "BOTTOM" } /** @enumType */ type BannerPositionWithLiterals = BannerPosition | 'TOP' | 'BOTTOM'; /** How the stacked layers fade relative to the base shape. Named for a bottom divider; top dividers render mirrored, so the visual fade flips. */ declare enum LayerEffect { /** Shape keeps its height, a solid filler bar pushes it away from the edge */ CENTER = "CENTER", /** Deeper (more transparent) layers shrink toward the edge inside the original band while a solid filler bar keeps its full height, so the faded copies hug the top of the band */ FADE_TO_TOP = "FADE_TO_TOP", /** Deeper (more transparent) layers stretch taller into the section, so the faded copies fan out above the base shape and descend to the layout edge */ FADE_TO_BOTTOM = "FADE_TO_BOTTOM" } /** @enumType */ type LayerEffectWithLiterals = LayerEffect | 'CENTER' | 'FADE_TO_TOP' | 'FADE_TO_BOTTOM'; /** Divider shape preset */ declare enum Shape { /** Ellipse shape */ ELLIPSE = "ELLIPSE", /** Tilt shape */ TILT = "TILT", /** Liquid shape */ LIQUID = "LIQUID", /** Left wave shape */ LEFT_WAVE = "LEFT_WAVE", /** Paint scribble shape */ PAINT_SCRIBBLE = "PAINT_SCRIBBLE", /** Inverted ellipse shape */ INVERTED_ELLIPSE = "INVERTED_ELLIPSE", /** Right wave shape */ RIGHT_WAVE = "RIGHT_WAVE", /** Dunes shape */ DUNES = "DUNES", /** Waves shape */ WAVES = "WAVES", /** Triangle shape */ TRIANGLE = "TRIANGLE", /** Semi-ellipse shape */ SEMI_ELLIPSE = "SEMI_ELLIPSE", /** Plants shape */ PLANTS = "PLANTS", /** Layered ellipse shape */ LAYERED_ELLIPSE = "LAYERED_ELLIPSE", /** Pixels shape */ PIXELS = "PIXELS", /** Paint shape */ PAINT = "PAINT", /** Clouds shape */ CLOUDS = "CLOUDS", /** Optical illusion shape */ OPTICAL_ILLUSION = "OPTICAL_ILLUSION", /** Stripes shape */ STRIPES = "STRIPES", /** Blobs shape */ BLOBS = "BLOBS", /** Semi-circles shape */ SEMI_CIRCLES = "SEMI_CIRCLES", /** Hill shape */ HILL = "HILL", /** Brush shape */ BRUSH = "BRUSH", /** Peaks shape */ PEAKS = "PEAKS", /** Angled triangle shape */ ANGLED_TRIANGLE = "ANGLED_TRIANGLE" } /** @enumType */ type ShapeWithLiterals = Shape | 'ELLIPSE' | 'TILT' | 'LIQUID' | 'LEFT_WAVE' | 'PAINT_SCRIBBLE' | 'INVERTED_ELLIPSE' | 'RIGHT_WAVE' | 'DUNES' | 'WAVES' | 'TRIANGLE' | 'SEMI_ELLIPSE' | 'PLANTS' | 'LAYERED_ELLIPSE' | 'PIXELS' | 'PAINT' | 'CLOUDS' | 'OPTICAL_ILLUSION' | 'STRIPES' | 'BLOBS' | 'SEMI_CIRCLES' | 'HILL' | 'BRUSH' | 'PEAKS' | 'ANGLED_TRIANGLE'; /** Layers effect - stacked semi-transparent copies of the divider shape */ interface Layers { /** Total number of layers including the base shape (1-4). Absent or 1 disables the effect. */ count?: number | null; /** Vertical distance in pixels between the silhouettes of consecutive layers: each successive layer's silhouette is offset from the previous one by this amount. The divider's own `height` is unchanged. Defaults to 20. */ offsetY?: number | null; /** How the stacked layers fade relative to the base shape. */ layerEffect?: LayerEffectWithLiterals; /** Horizontal distance between consecutive layers in pixels. Defaults to 0. Only applies to shapes that support horizontal offset. */ offsetX?: number | null; } /** Backdrop type */ declare enum BackdropType { /** Solid color backdrop */ COLOR = "COLOR", /** Gradient backdrop */ GRADIENT = "GRADIENT" } /** @enumType */ type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT'; interface LayoutDataBackgroundImage { /** Background image. */ media?: Media; /** * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background`/`backdrop` color behind it. * @deprecated */ opacity?: number | null; /** Background image scaling. */ scaling?: ImageScalingScalingWithLiterals; /** Position of background. Defaults to `CENTER`. */ position?: ImagePositionWithLiterals; /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */ blur?: number | null; /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`/`backdrop`). */ overlay?: LayoutDataBackground; } declare enum VerticalAlignmentAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } /** @enumType */ type VerticalAlignmentAlignmentWithLiterals = VerticalAlignmentAlignment | 'TOP' | 'MIDDLE' | 'BOTTOM'; declare enum ResponsivenessBehaviour { /** Stacking of columns */ STACK = "STACK", /** Wrapping of columns */ WRAP = "WRAP" } /** @enumType */ type ResponsivenessBehaviourWithLiterals = ResponsivenessBehaviour | 'STACK' | 'WRAP'; declare enum DesignTarget { /** Design applied to layout */ LAYOUT = "LAYOUT", /** Design applied to cells */ CELL = "CELL" } /** @enumType */ type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL'; interface Banner { /** Origin of the banner */ origin?: OriginWithLiterals; /** Position of the banner */ position?: BannerPositionWithLiterals; } /** Backdrop styling (color or gradient) */ interface Backdrop { /** Backdrop type. */ type?: BackdropTypeWithLiterals; /** * Backdrop color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } /** Decorative shape divider at a layout edge */ interface SectionDivider { /** Divider shape preset. Determines which customization properties apply. */ type?: ShapeWithLiterals; /** * Divider fill color as a hexadecimal value (may include alpha). * @maxLength 19 */ color?: string | null; /** Divider height in pixels. */ height?: number | null; /** Horizontal offset in pixels. */ offsetX?: number | null; /** Whether the shape is flipped horizontally. */ flipped?: boolean | null; /** Layers effect - stacked semi-transparent copies of the divider shape. */ layers?: Layers; } interface LayoutCellData { /** Size of the cell in 12 columns grid. */ colSpan?: number | null; } interface ShapeData { /** Styling for the shape's container. */ containerData?: PluginContainerData; /** Shape file details. */ shape?: Media; /** Styling for the shape. */ styles?: ShapeDataStyles; /** Node animation. */ animation?: Animation; /** Link details for shapes that are links. */ link?: Link; /** * Alternate text describing the link's purpose for accessibility. Applies only when `link` is set. * @maxLength 1000 */ altText?: string | null; } interface ShapeDataStyles { /** * Shape fill color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Map of original color keys to their new color values. */ colors?: Record; } interface CardData { /** Background styling (color or gradient). */ background?: CardDataBackground; /** Background image. */ backgroundImage?: BackgroundImage; } declare enum Scaling { /** Auto image scaling */ AUTO = "AUTO", /** Contain image scaling */ CONTAIN = "CONTAIN", /** Cover image scaling */ COVER = "COVER" } /** @enumType */ type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER'; declare enum ImagePositionPosition { /** Image positioned at the center */ CENTER = "CENTER", /** Image positioned on the left */ CENTER_LEFT = "CENTER_LEFT", /** Image positioned on the right */ CENTER_RIGHT = "CENTER_RIGHT", /** Image positioned at the center top */ TOP = "TOP", /** Image positioned at the top left */ TOP_LEFT = "TOP_LEFT", /** Image positioned at the top right */ TOP_RIGHT = "TOP_RIGHT", /** Image positioned at the center bottom */ BOTTOM = "BOTTOM", /** Image positioned at the bottom left */ BOTTOM_LEFT = "BOTTOM_LEFT", /** Image positioned at the bottom right */ BOTTOM_RIGHT = "BOTTOM_RIGHT" } /** @enumType */ type ImagePositionPositionWithLiterals = ImagePositionPosition | 'CENTER' | 'CENTER_LEFT' | 'CENTER_RIGHT' | 'TOP' | 'TOP_LEFT' | 'TOP_RIGHT' | 'BOTTOM' | 'BOTTOM_LEFT' | 'BOTTOM_RIGHT'; /** Background styling (color or gradient) */ interface CardDataBackground { /** Background type. */ type?: CardDataBackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @maxLength 19 */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } /** Background type */ declare enum CardDataBackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type CardDataBackgroundTypeWithLiterals = CardDataBackgroundType | 'COLOR' | 'GRADIENT'; interface BackgroundImage { /** Background image. */ media?: Media; /** * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background` color behind it. * @deprecated */ opacity?: number | null; /** Background image scaling. */ scaling?: ScalingWithLiterals; /** Position of background. Defaults to `CENTER`. */ position?: ImagePositionPositionWithLiterals; /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`). */ overlay?: CardDataBackground; /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */ blur?: number | null; } interface TocData { /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */ includedHeadings?: number[]; /** List style. Default: PLAIN. */ listStyle?: ListStyleWithLiterals; /** Optional override for the font size in pixels. */ fontSize?: number | null; /** Optional override for the vertical spacing between items in pixels. */ itemSpacing?: number | null; /** * Optional override for the text color. * @maxLength 19 */ color?: string | null; /** Indentation style. Default: NESTED. */ indentation?: IndentationWithLiterals; /** Node animation. */ animation?: Animation; } /** List style. */ declare enum ListStyle { /** No markers (default) */ PLAIN = "PLAIN", /** Numbered list */ NUMBERED = "NUMBERED", /** Alphabetic letters */ LETTERS = "LETTERS", /** Roman numerals */ ROMAN = "ROMAN", /** Bulleted list */ BULLETED = "BULLETED", /** Alphabetical index */ ALPHABETICAL_INDEX = "ALPHABETICAL_INDEX", /** Alphabetical index (compact top-row only) */ ALPHABETICAL_INDEX_COMPACT = "ALPHABETICAL_INDEX_COMPACT" } /** @enumType */ type ListStyleWithLiterals = ListStyle | 'PLAIN' | 'NUMBERED' | 'LETTERS' | 'ROMAN' | 'BULLETED' | 'ALPHABETICAL_INDEX' | 'ALPHABETICAL_INDEX_COMPACT'; /** Indentation style. */ declare enum Indentation { /** Sub-headings indented under parents (default) */ NESTED = "NESTED", /** All items at the same level */ FLAT = "FLAT" } /** @enumType */ type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT'; /** Data for a smart block node. */ interface SmartBlockData { /** The type of the smart block. */ type?: SmartBlockDataTypeWithLiterals; /** Layout orientation. HORIZONTAL or VERTICAL. Optional for variants with fixed orientation. */ orientation?: string | null; /** Column size controlling cells per row. */ columnSize?: ColumnSizeWithLiterals; /** * Border color (for SOLID_JOINED_BOXES variant). * @maxLength 19 */ borderColor?: string | null; /** Border width in pixels (for SOLID_JOINED_BOXES variant). */ borderWidth?: number | null; /** Border radius in pixels (for SOLID_JOINED_BOXES variant). */ borderRadius?: number | null; /** Node animation. */ animation?: Animation; } /** Layout type of the smart block */ declare enum SmartBlockDataType { /** Grid-based layouts with solid box items containing title, body, and icon/image. */ SOLID_BOXES = "SOLID_BOXES", /** Numbered boxes. */ NUMBERED_BOXES = "NUMBERED_BOXES", /** Statistics display with large numbers/values. */ STATS = "STATS", /** Statistics with circular visual elements. */ CIRCLE_STATS = "CIRCLE_STATS", /** Staggered/zigzag grid layout with alternating box positions. */ SOLID_BOXES_ALTERNATING = "SOLID_BOXES_ALTERNATING", /** Grid layout with boxes visually joined (no gaps, shared container border). */ SOLID_JOINED_BOXES = "SOLID_JOINED_BOXES", /** Transparent cells with only a left side line. */ SIDE_LINE_TEXT = "SIDE_LINE_TEXT", /** Transparent cells with only a top line. */ TOP_LINE_TEXT = "TOP_LINE_TEXT", /** Outlined boxes with a numbered/icon circle at the top. */ OUTLINE_BOXES_WITH_TOP_CIRCLE = "OUTLINE_BOXES_WITH_TOP_CIRCLE", /** Large icon bullets with text content. */ BIG_BULLETS = "BIG_BULLETS", /** Small dot bullets with text content. */ SMALL_BULLETS = "SMALL_BULLETS", /** Arrow icon bullets with text content. */ ARROW_BULLETS = "ARROW_BULLETS", /** Process steps with numbered/icon labels above a horizontal line. */ PROCESS_STEPS = "PROCESS_STEPS", /** Statistics with bar visual elements. */ BAR_STATS = "BAR_STATS", /** Timeline layout with numbered chips on a connecting line; cells alternate around the line. */ TIMELINE = "TIMELINE", /** Timeline layout with plain dot indicators; no numbers or shapes; cells alternate around the line. */ MINIMAL_TIMELINE = "MINIMAL_TIMELINE", /** Numbered pill-shaped labels (stadium chips) with text content; supports HORIZONTAL (pill on top) and VERTICAL (pill on left) orientations. */ PILLS = "PILLS", /** Star rating display with stars and a numeric value per cell. */ STAR_RATING = "STAR_RATING", /** Outlined boxes with decorative quote glyphs at the top-left and bottom-right corners. */ QUOTE_BOXES = "QUOTE_BOXES", /** Donut/ring with numbered annular-sector segments; cell text labels sit outside the ring. */ CIRCLE = "CIRCLE", /** Hierarchical pyramid where each cell renders as a horizontal slice (apex at top, base at bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the pyramid. */ PYRAMID = "PYRAMID", /** Cells render a horizontal bar whose width scales with cell index, creating a staircase pattern; bar carries the cell number or a custom shape. */ STAIRCASE = "STAIRCASE", /** Hierarchical funnel where each cell renders as a horizontal slice (wide at top, narrowing toward the bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the funnel. */ VERTICAL_FUNNEL = "VERTICAL_FUNNEL" } /** @enumType */ type SmartBlockDataTypeWithLiterals = SmartBlockDataType | 'SOLID_BOXES' | 'NUMBERED_BOXES' | 'STATS' | 'CIRCLE_STATS' | 'SOLID_BOXES_ALTERNATING' | 'SOLID_JOINED_BOXES' | 'SIDE_LINE_TEXT' | 'TOP_LINE_TEXT' | 'OUTLINE_BOXES_WITH_TOP_CIRCLE' | 'BIG_BULLETS' | 'SMALL_BULLETS' | 'ARROW_BULLETS' | 'PROCESS_STEPS' | 'BAR_STATS' | 'TIMELINE' | 'MINIMAL_TIMELINE' | 'PILLS' | 'STAR_RATING' | 'QUOTE_BOXES' | 'CIRCLE' | 'PYRAMID' | 'STAIRCASE' | 'VERTICAL_FUNNEL'; /** Column size controlling how many cells appear per row. */ declare enum ColumnSize { /** Up to 4 cells in a row. */ SMALL = "SMALL", /** Up to 3 cells in a row (default). */ MEDIUM = "MEDIUM", /** Up to 2 cells in a row. */ LARGE = "LARGE", /** 1 cell in a row. */ EXTRA_LARGE = "EXTRA_LARGE" } /** @enumType */ type ColumnSizeWithLiterals = ColumnSize | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE'; /** Data for a smart block cell node. */ interface SmartBlockCellData { /** Optional label text for the cell (e.g., for stats variants). */ label?: string | null; /** Shape file details. */ shape?: Media; /** * Border color of the cell. * @maxLength 19 */ borderColor?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** The type of the parent smart block (must match parent). */ type?: SmartBlockDataTypeWithLiterals; /** * Accent color for non-background variants (e.g., line, bullet, label color). * @maxLength 19 */ accentColor?: string | null; /** * Background color for background-based variants (SOLID_BOXES, SOLID_BOXES_ALTERNATING, SOLID_JOINED_BOXES). * @maxLength 19 */ backgroundColor?: string | null; /** * Shape fill color as a hexadecimal value. * @maxLength 19 */ shapeColor?: string | null; } interface CheckboxListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** Node animation. */ animation?: Animation; } interface ListItemNodeData { /** Checkbox list item state. Defaults to `false`. */ checked?: boolean | null; /** Node animation. */ animation?: Animation; } interface SlotData { /** Integration type, for example `wix.forms.form`. Used to render the slot in the editor and viewer. */ integrationType?: string | null; /** ID of the resource the slot renders, for example a form ID. Passed as-is to the integration. */ resourceId?: string | null; /** Node animation. */ animation?: Animation; /** Design overrides for this slot. Unset colours use the Ricos theme; unset sizes default to 0. */ design?: SlotDesign; } interface SlotDesign { /** Text colour: CSS colour or `$theme-color-N[-opacity]` token. */ textColor?: string | null; /** Accent colour. */ accentColor?: string | null; /** Button background colour. */ buttonColor?: string | null; /** Button text colour. */ buttonTextColor?: string | null; /** Block background colour. */ backgroundColor?: string | null; /** Block border colour. */ borderColor?: string | null; /** Block border width, px. */ borderWidth?: number | null; /** Block corner radius, px. */ borderRadius?: number | null; /** Horizontal inner padding, px. */ paddingHorizontal?: number | null; /** Vertical inner padding, px. */ paddingVertical?: number | null; /** Vertical gap between rows, px. */ rowGap?: number | null; /** Horizontal gap between columns, px. */ columnGap?: number | null; } 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; } 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; } 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; } /** Additional groupings for question entries, for integration with other systems like chatbots. */ interface Label { /** * Label name. * @minLength 1 * @maxLength 36 */ title?: string; /** Order of the question entry within the label. */ sortOrder?: number | null; } declare enum QuestionStatus { UNKNOWN = "UNKNOWN", VISIBLE = "VISIBLE", HIDDEN = "HIDDEN" } /** @enumType */ type QuestionStatusWithLiterals = QuestionStatus | 'UNKNOWN' | 'VISIBLE' | 'HIDDEN'; interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface CreateQuestionEntryRequest { /** Question entry to create. */ questionEntry: QuestionEntry; } interface CreateQuestionEntryResponse { /** Created question entry. */ questionEntry?: QuestionEntry; } interface GetQuestionEntryRequest { /** * ID of the question entry to retrieve. * @format GUID */ questionEntryId: string; } interface GetQuestionEntryResponse { /** Retrieved question entry. */ questionEntry?: QuestionEntry; } interface UpdateQuestionEntryRequest { /** Question entry to update. Include only the fields you want to modify. */ questionEntry: QuestionEntry; /** * Fields to update in the question entry. * Only fields included in `fieldMask.paths` are updated. * @internal */ fieldMask?: string[]; } interface UpdateQuestionEntryResponse { /** Updated question entry. */ questionEntry?: QuestionEntry; } interface DeleteQuestionEntryRequest { /** * ID of the question entry to delete. * @format GUID */ questionEntryId: string; } interface DeleteQuestionEntryResponse { } interface ListQuestionEntriesRequest { /** * ID of the category to filter question entries by. * @minLength 1 * @maxLength 50 */ categoryId?: string | null; /** * IDs of specific question entries to retrieve. * @format GUID * @maxSize 100 */ questionEntryIds?: string[]; /** * Label name to filter question entries by. * @minLength 1 * @maxLength 36 */ questionEntryLabel?: string | null; /** Pagination settings. Not required if specific question entry IDs are provided. */ paging?: CursorPaging; /** Format for answer content in the response. */ contentFormat?: ContentFormatWithLiterals; /** * Fields to include in the response. * @maxSize 100 */ fieldSet?: FieldSetWithLiterals[]; } interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } declare enum ContentFormat { DRAFTJS = "DRAFTJS", PLAIN_TEXT = "PLAIN_TEXT", RICH_CONTENT = "RICH_CONTENT" } /** @enumType */ type ContentFormatWithLiterals = ContentFormat | 'DRAFTJS' | 'PLAIN_TEXT' | 'RICH_CONTENT'; declare enum FieldSet { UNKNOWN = "UNKNOWN", /** Include `share_link` fields inside question entries. */ SHARE_LINKS = "SHARE_LINKS" } /** @enumType */ type FieldSetWithLiterals = FieldSet | 'UNKNOWN' | 'SHARE_LINKS'; interface ListQuestionEntriesResponse { /** List of up to 100 retrieved question entries. */ questionEntries?: QuestionEntry[]; /** Pagination information for navigating through results. */ pagingMetadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; /** * Indicates if there are more results after the current page. * If `true`, another page of results can be retrieved. * If `false`, this is the last page. * @internal */ hasNext?: boolean | null; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface QueryQuestionEntriesRequest { /** WQL query expression for filtering and sorting question entries. */ query?: CursorQuery; /** Format for answer content in the response. */ contentFormat?: QueryQuestionEntriesRequestContentFormatWithLiterals; /** * Fields to include in the response. * @maxSize 100 */ fieldSet?: QueryQuestionEntriesRequestFieldSetWithLiterals[]; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 5 */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; /** * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked. * * If multiple filters are provided, they are combined with AND operator. * * Example: * Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]} * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be * { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] } * @internal * @maxSize 10 */ selectItemsBy?: Record[] | null; /** * Origin point for geo-distance sorting on a GEO field * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first). */ origin?: AddressLocation; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface AddressLocation { /** Address latitude. */ latitude?: number | null; /** Address longitude. */ longitude?: number | null; } declare enum QueryQuestionEntriesRequestContentFormat { DRAFTJS = "DRAFTJS", PLAIN_TEXT = "PLAIN_TEXT", RICH_CONTENT = "RICH_CONTENT" } /** @enumType */ type QueryQuestionEntriesRequestContentFormatWithLiterals = QueryQuestionEntriesRequestContentFormat | 'DRAFTJS' | 'PLAIN_TEXT' | 'RICH_CONTENT'; declare enum QueryQuestionEntriesRequestFieldSet { UNKNOWN = "UNKNOWN", /** Include `share_link` fields inside question entries. */ SHARE_LINKS = "SHARE_LINKS" } /** @enumType */ type QueryQuestionEntriesRequestFieldSetWithLiterals = QueryQuestionEntriesRequestFieldSet | 'UNKNOWN' | 'SHARE_LINKS'; interface QueryQuestionEntriesResponse { /** List of retrieved question entries. */ questionEntries?: QuestionEntry[]; /** Pagination information for navigating through results. */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; /** * Total number of items matching the filter. * Available only on the first page of *Search* results, not included in *Query* or *List* results. * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page. * @internal */ total?: number | null; } interface BulkDeleteQuestionEntriesRequest { /** * IDs of question entries to delete. * @minSize 1 * @maxSize 100 * @format GUID */ questionEntryIds: string[]; } interface BulkDeleteQuestionEntriesResponse { /** * Results for each question entry deletion, including success or error information. * @minSize 1 * @maxSize 100 */ itemMetadata?: ItemMetadata[]; /** Metadata about the bulk delete operation. */ bulkActionMetadata?: BulkActionMetadata; } 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; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } 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 UpdateExtendedFieldsRequest { /** ID of the entity to update. */ _id: string; /** Identifier for the app whose extended fields are being updated. */ namespace: string; /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */ namespaceData: Record | null; } interface UpdateExtendedFieldsResponse { /** Question entry with updated extended fields. */ questionEntry?: QuestionEntry; } interface SetQuestionEntryLabelsRequest { /** * ID of the question entry to update labels for. * @format GUID */ questionEntryId: string; /** * Labels to assign to the question entry. * @maxSize 100 */ labels?: Label[]; } interface SetQuestionEntryLabelsResponse { /** Question entry with updated labels. */ questionEntry?: QuestionEntry; } interface BulkUpdateQuestionEntryRequest { /** * Question entries to update with their respective field masks. * @minSize 1 * @maxSize 100 */ questionEntries?: MaskedQuestionEntry[]; /** Whether to include the full updated question entries in the response. */ returnFullEntity?: boolean | null; } interface MaskedQuestionEntry { /** Question entry to update. */ questionEntry?: QuestionEntry; /** * Fields to update in the question entry. * @internal */ fieldMask?: string[]; } interface BulkUpdateQuestionEntryResponse { /** * Results for each question entry update operation. * @maxSize 100 */ results?: BulkUpdateQuestionEntryResult[]; /** Summary information about the bulk update operation. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateQuestionEntryResult { /** Success or error information for the individual update operation. */ itemMetadata?: ItemMetadata; /** Updated question entry. Only included if `return_full_entity` was set to `true`. */ questionEntry?: QuestionEntry; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface Empty { } interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf { /** Emitted on a meta site creation. */ siteCreated?: SiteCreated; /** Emitted on a meta site transfer completion. */ siteTransferred?: SiteTransferred; /** Emitted on a meta site deletion. */ siteDeleted?: SiteDeleted; /** Emitted on a meta site restoration. */ siteUndeleted?: SiteUndeleted; /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */ sitePublished?: SitePublished; /** Emitted on a meta site unpublish. */ siteUnpublished?: SiteUnpublished; /** Emitted when meta site is marked as template. */ siteMarkedAsTemplate?: SiteMarkedAsTemplate; /** Emitted when meta site is marked as a WixSite. */ siteMarkedAsWixSite?: SiteMarkedAsWixSite; /** Emitted when an application is provisioned (installed). */ serviceProvisioned?: ServiceProvisioned; /** Emitted when an application is removed (uninstalled). */ serviceRemoved?: ServiceRemoved; /** Emitted when meta site name (URL slug) is changed. */ siteRenamedPayload?: SiteRenamed; /** Emitted when meta site was permanently deleted. */ hardDeleted?: SiteHardDeleted; /** Emitted on a namespace change. */ namespaceChanged?: NamespaceChanged; /** Emitted when Studio is attached. */ studioAssigned?: StudioAssigned; /** Emitted when Studio is detached. */ studioUnassigned?: StudioUnassigned; /** * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch * the actual URL. * * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459 */ urlChanged?: SiteUrlChanged; /** Site is marked as PurgedExternally */ sitePurgedExternally?: SitePurgedExternally; /** Emitted when Odeditor is attached. */ odeditorAssigned?: OdeditorAssigned; /** Emitted when Odeditor is detached. */ odeditorUnassigned?: OdeditorUnassigned; /** Emitted when Picasso is attached. */ picassoAssigned?: PicassoAssigned; /** Emitted when Picasso is detached. */ picassoUnassigned?: PicassoUnassigned; /** Emitted when Wixel is attached. */ wixelAssigned?: WixelAssigned; /** Emitted when Wixel is detached. */ wixelUnassigned?: WixelUnassigned; /** Emitted when StudioTwo is attached. */ studioTwoAssigned?: StudioTwoAssigned; /** Emitted when StudioTwo is detached. */ studioTwoUnassigned?: StudioTwoUnassigned; /** Emitted when media from user domain is enabled. */ userDomainMediaEnabled?: UserDomainMediaEnabled; /** Emitted when media from user domain is disabled. */ userDomainMediaDisabled?: UserDomainMediaDisabled; /** Emitted when Editorless is attached. */ editorlessAssigned?: EditorlessAssigned; /** Emitted when Editorless is detached. */ editorlessUnassigned?: EditorlessUnassigned; /** * A meta site id. * @format GUID */ metaSiteId?: string; /** A meta site version. Monotonically increasing. */ version?: string; /** A timestamp of the event. */ timestamp?: string; /** * TODO(meta-site): Change validation once validations are disabled for consumers * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659 * @maxSize 4000 */ assets?: Asset[]; } /** @oneof */ interface MetaSiteSpecialEventPayloadOneOf { /** Emitted on a meta site creation. */ siteCreated?: SiteCreated; /** Emitted on a meta site transfer completion. */ siteTransferred?: SiteTransferred; /** Emitted on a meta site deletion. */ siteDeleted?: SiteDeleted; /** Emitted on a meta site restoration. */ siteUndeleted?: SiteUndeleted; /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */ sitePublished?: SitePublished; /** Emitted on a meta site unpublish. */ siteUnpublished?: SiteUnpublished; /** Emitted when meta site is marked as template. */ siteMarkedAsTemplate?: SiteMarkedAsTemplate; /** Emitted when meta site is marked as a WixSite. */ siteMarkedAsWixSite?: SiteMarkedAsWixSite; /** Emitted when an application is provisioned (installed). */ serviceProvisioned?: ServiceProvisioned; /** Emitted when an application is removed (uninstalled). */ serviceRemoved?: ServiceRemoved; /** Emitted when meta site name (URL slug) is changed. */ siteRenamedPayload?: SiteRenamed; /** Emitted when meta site was permanently deleted. */ hardDeleted?: SiteHardDeleted; /** Emitted on a namespace change. */ namespaceChanged?: NamespaceChanged; /** Emitted when Studio is attached. */ studioAssigned?: StudioAssigned; /** Emitted when Studio is detached. */ studioUnassigned?: StudioUnassigned; /** * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch * the actual URL. * * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459 */ urlChanged?: SiteUrlChanged; /** Site is marked as PurgedExternally */ sitePurgedExternally?: SitePurgedExternally; /** Emitted when Odeditor is attached. */ odeditorAssigned?: OdeditorAssigned; /** Emitted when Odeditor is detached. */ odeditorUnassigned?: OdeditorUnassigned; /** Emitted when Picasso is attached. */ picassoAssigned?: PicassoAssigned; /** Emitted when Picasso is detached. */ picassoUnassigned?: PicassoUnassigned; /** Emitted when Wixel is attached. */ wixelAssigned?: WixelAssigned; /** Emitted when Wixel is detached. */ wixelUnassigned?: WixelUnassigned; /** Emitted when StudioTwo is attached. */ studioTwoAssigned?: StudioTwoAssigned; /** Emitted when StudioTwo is detached. */ studioTwoUnassigned?: StudioTwoUnassigned; /** Emitted when media from user domain is enabled. */ userDomainMediaEnabled?: UserDomainMediaEnabled; /** Emitted when media from user domain is disabled. */ userDomainMediaDisabled?: UserDomainMediaDisabled; /** Emitted when Editorless is attached. */ editorlessAssigned?: EditorlessAssigned; /** Emitted when Editorless is detached. */ editorlessUnassigned?: EditorlessUnassigned; } interface Asset { /** * An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). * @maxLength 36 */ appDefId?: string; /** * An instance id. For legacy reasons may be UUID or a string. * @maxLength 200 */ instanceId?: string; /** An application state. */ state?: StateWithLiterals; } declare enum State { UNKNOWN = "UNKNOWN", ENABLED = "ENABLED", DISABLED = "DISABLED", PENDING = "PENDING", DEMO = "DEMO" } /** @enumType */ type StateWithLiterals = State | 'UNKNOWN' | 'ENABLED' | 'DISABLED' | 'PENDING' | 'DEMO'; interface SiteCreated { /** * A template identifier (empty if not created from a template). * @maxLength 36 */ originTemplateId?: string; /** * An account id of the owner. * @format GUID */ ownerId?: string; /** A context in which meta site was created. */ context?: SiteCreatedContextWithLiterals; /** * A meta site id from which this site was created. * * In case of a creation from a template it's a template id. * In case of a site duplication ("Save As" in dashboard or duplicate in UM) it's an id of a source site. * @format GUID */ originMetaSiteId?: string | null; /** * A meta site name (URL slug). * @maxLength 20 */ siteName?: string; /** A namespace. */ namespace?: NamespaceWithLiterals; } declare enum SiteCreatedContext { /** A valid option, we don't expose all reasons why site might be created. */ OTHER = "OTHER", /** A meta site was created from template. */ FROM_TEMPLATE = "FROM_TEMPLATE", /** A meta site was created by copying of the transfferred meta site. */ DUPLICATE_BY_SITE_TRANSFER = "DUPLICATE_BY_SITE_TRANSFER", /** A copy of existing meta site. */ DUPLICATE = "DUPLICATE", /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */ OLD_SITE_TRANSFER = "OLD_SITE_TRANSFER", /** deprecated A meta site was created for Flash editor. */ FLASH = "FLASH" } /** @enumType */ type SiteCreatedContextWithLiterals = SiteCreatedContext | 'OTHER' | 'FROM_TEMPLATE' | 'DUPLICATE_BY_SITE_TRANSFER' | 'DUPLICATE' | 'OLD_SITE_TRANSFER' | 'FLASH'; declare enum Namespace { UNKNOWN_NAMESPACE = "UNKNOWN_NAMESPACE", /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */ WIX = "WIX", /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */ SHOUT_OUT = "SHOUT_OUT", /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */ ALBUMS = "ALBUMS", /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */ WIX_STORES_TEST_DRIVE = "WIX_STORES_TEST_DRIVE", /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ HOTELS = "HOTELS", /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */ CLUBS = "CLUBS", /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */ ONBOARDING_DRAFT = "ONBOARDING_DRAFT", /** * AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. * Not the dev-center dev site (see Flag.DEV_CENTER_DEV_SITE_FLAG). */ DEV_SITE = "DEV_SITE", /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */ LOGOS = "LOGOS", /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */ VIDEO_MAKER = "VIDEO_MAKER", /** MetaSites with this namespace will *not* be shown in a user's site list by default. */ PARTNER_DASHBOARD = "PARTNER_DASHBOARD", /** MetaSites with this namespace will *not* be shown in a user's site list by default. */ DEV_CENTER_COMPANY = "DEV_CENTER_COMPANY", /** * A draft created by HTML editor on open. Upon "first save" it will be moved to be of WIX domain. * * Meta site with this namespace will *not* be shown in a user's site list by default. */ HTML_DRAFT = "HTML_DRAFT", /** * the user-journey for Fitness users who want to start from managing their business instead of designing their website. * Will be accessible from Site List and will not have a website app. * Once the user attaches a site, the site will become a regular wixsite. */ SITELESS_BUSINESS = "SITELESS_BUSINESS", /** Belongs to "strategic products" company. Supports new product in the creator's economy space. */ CREATOR_ECONOMY = "CREATOR_ECONOMY", /** It is to be used in the Business First efforts. */ DASHBOARD_FIRST = "DASHBOARD_FIRST", /** Bookings business flow with no site. */ ANYWHERE = "ANYWHERE", /** Namespace for Headless Backoffice with no editor */ HEADLESS = "HEADLESS", /** * Namespace for master site that will exist in parent account that will be referenced by subaccounts * The site will be used for account level CSM feature for enterprise */ ACCOUNT_MASTER_CMS = "ACCOUNT_MASTER_CMS", /** Rise.ai Siteless account management for Gift Cards and Store Credit. */ RISE = "RISE", /** * As part of the branded app new funnel, users now can create a meta site that will be branded app first. * There's a blank site behind the scene but it's blank). * The Mobile company will be the owner of this namespace. */ BRANDED_FIRST = "BRANDED_FIRST", /** Nownia.com Siteless account management for Ai Scheduling Assistant. */ NOWNIA = "NOWNIA", /** * UGC Templates are templates that are created by users for personal use and to sale to other users. * The Partners company owns this namespace. */ UGC_TEMPLATE = "UGC_TEMPLATE", /** Codux Headless Sites */ CODUX = "CODUX", /** Bobb - AI Design Creator. */ MEDIA_DESIGN_CREATOR = "MEDIA_DESIGN_CREATOR", /** * Shared Blog Site is a unique single site across Enterprise account, * This site will hold all Blog posts related to the Marketing product. */ SHARED_BLOG_ENTERPRISE = "SHARED_BLOG_ENTERPRISE", /** Standalone forms (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ STANDALONE_FORMS = "STANDALONE_FORMS", /** Standalone events (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ STANDALONE_EVENTS = "STANDALONE_EVENTS", /** MIMIR - Siteless account for MIMIR Ai Job runner. */ MIMIR = "MIMIR", /** Wix Twins platform. */ TWINS = "TWINS", /** Wix Nano. */ NANO = "NANO", /** Base44 headless sites. */ BASE44 = "BASE44", /** Wix Channels Sites */ CHANNELS = "CHANNELS", /** Nautilus platform. */ NAUTILUS = "NAUTILUS", /** * Symphony — a siteless site representing a project within Symphony (the evolution of Orion). * Holds project data, conversations, assets, and manages collaborators / shared team members for the project. */ SYMPHONY = "SYMPHONY", /** Nautilus platform app. */ NAUTILUS_APPS = "NAUTILUS_APPS", /** * Vibu — a siteless site representing a project built with Vibu (the AI app builder). * Holds the project's generated code, conversations, assets, and manages collaborators for the project. */ VIBU = "VIBU", /** * Ghost site for the BrandKit multi-site platform. Each ghost backs a single BrandKit * (an Enterprise account may have several), holding that BrandKit's brand definition * (theme, typography, assets) which is rolled out to the BrandKit's connected sites. * MetaSites with this namespace will *not* be shown in a user's site list by default. */ ENTERPRISE_BRAND_KIT = "ENTERPRISE_BRAND_KIT", /** * Dev-center development sites (com.wixpress.devcenter.dsm). * DEPRECATED: replaced by Flag.DEV_CENTER_DEV_SITE_FLAG (a dev site is orthogonal to the namespace). Do not use for new sites. */ DEV_CENTER_DEV_SITE = "DEV_CENTER_DEV_SITE" } /** @enumType */ type NamespaceWithLiterals = Namespace | 'UNKNOWN_NAMESPACE' | 'WIX' | 'SHOUT_OUT' | 'ALBUMS' | 'WIX_STORES_TEST_DRIVE' | 'HOTELS' | 'CLUBS' | 'ONBOARDING_DRAFT' | 'DEV_SITE' | 'LOGOS' | 'VIDEO_MAKER' | 'PARTNER_DASHBOARD' | 'DEV_CENTER_COMPANY' | 'HTML_DRAFT' | 'SITELESS_BUSINESS' | 'CREATOR_ECONOMY' | 'DASHBOARD_FIRST' | 'ANYWHERE' | 'HEADLESS' | 'ACCOUNT_MASTER_CMS' | 'RISE' | 'BRANDED_FIRST' | 'NOWNIA' | 'UGC_TEMPLATE' | 'CODUX' | 'MEDIA_DESIGN_CREATOR' | 'SHARED_BLOG_ENTERPRISE' | 'STANDALONE_FORMS' | 'STANDALONE_EVENTS' | 'MIMIR' | 'TWINS' | 'NANO' | 'BASE44' | 'CHANNELS' | 'NAUTILUS' | 'SYMPHONY' | 'NAUTILUS_APPS' | 'VIBU' | 'ENTERPRISE_BRAND_KIT' | 'DEV_CENTER_DEV_SITE'; /** Site transferred to another user. */ interface SiteTransferred { /** * A previous owner id (user that transfers meta site). * @format GUID */ oldOwnerId?: string; /** * A new owner id (user that accepts meta site). * @format GUID */ newOwnerId?: string; } /** Soft deletion of the meta site. Could be restored. */ interface SiteDeleted { /** A deletion context. */ deleteContext?: DeleteContext; } interface DeleteContext { /** When the meta site was deleted. */ dateDeleted?: Date | null; /** A status. */ deleteStatus?: DeleteStatusWithLiterals; /** * A reason (flow). * @maxLength 255 */ deleteOrigin?: string; /** * A service that deleted it. * @maxLength 255 */ initiatorId?: string | null; } declare enum DeleteStatus { UNKNOWN = "UNKNOWN", TRASH = "TRASH", DELETED = "DELETED", PENDING_PURGE = "PENDING_PURGE", PURGED_EXTERNALLY = "PURGED_EXTERNALLY" } /** @enumType */ type DeleteStatusWithLiterals = DeleteStatus | 'UNKNOWN' | 'TRASH' | 'DELETED' | 'PENDING_PURGE' | 'PURGED_EXTERNALLY'; /** Restoration of the meta site. */ interface SiteUndeleted { } /** First publish of a meta site. Or subsequent publish after unpublish. */ interface SitePublished { } interface SiteUnpublished { /** * A list of URLs previously associated with the meta site. * @maxLength 4000 * @maxSize 10000 */ urls?: string[]; } interface SiteMarkedAsTemplate { } interface SiteMarkedAsWixSite { } /** * Represents a service provisioned a site. * * Note on `origin_instance_id`: * There is no guarantee that you will be able to find a meta site using `origin_instance_id`. * This is because of the following scenario: * * Imagine you have a template where a third-party application (TPA) includes some stub data, * such as a product catalog. When you create a site from this template, you inherit this * default product catalog. However, if the template's product catalog is modified, * your site will retain the catalog as it was at the time of site creation. This ensures that * your site remains consistent with what you initially received and does not include any * changes made to the original template afterward. * To ensure this, the TPA on the template gets a new instance_id. */ interface ServiceProvisioned { /** * Either UUID or EmbeddedServiceType. * @maxLength 36 */ appDefId?: string; /** * Not only UUID. Something here could be something weird. * @maxLength 36 */ instanceId?: string; /** * An instance id from which this instance is originated. * @maxLength 36 */ originInstanceId?: string; /** * A version. * @maxLength 500 */ version?: string | null; /** * The origin meta site id * @format GUID */ originMetaSiteId?: string | null; } interface ServiceRemoved { /** * Either UUID or EmbeddedServiceType. * @maxLength 36 */ appDefId?: string; /** * Not only UUID. Something here could be something weird. * @maxLength 36 */ instanceId?: string; /** * A version. * @maxLength 500 */ version?: string | null; } /** Rename of the site. Meaning, free public url has been changed as well. */ interface SiteRenamed { /** * A new meta site name (URL slug). * @maxLength 20 */ newSiteName?: string; /** * A previous meta site name (URL slug). * @maxLength 255 */ oldSiteName?: string; } /** * Hard deletion of the meta site. * * Could not be restored. Therefore it's desirable to cleanup data. */ interface SiteHardDeleted { /** A deletion context. */ deleteContext?: DeleteContext; } interface NamespaceChanged { /** A previous namespace. */ oldNamespace?: NamespaceWithLiterals; /** A new namespace. */ newNamespace?: NamespaceWithLiterals; } /** Assigned Studio editor */ interface StudioAssigned { } /** Unassigned Studio editor */ interface StudioUnassigned { } /** * Fired in case site URLs were changed in any way: new secondary domain, published, account slug rename, site rename etc. * * This is an internal event, it's not propagated in special events, because it's non-actionable. If you need to keep up * with sites and its urls, you need to listen to another topic/event. Read about it: * * https://bo.wix.com/wix-docs/rest/meta-site/meta-site---urls-service */ interface SiteUrlChanged { } /** * Used at the end of the deletion flow for both draft sites and when a user deletes a site. * Consumed by other teams to remove relevant data. */ interface SitePurgedExternally { /** * @maxLength 2048 * @maxSize 100 * @deprecated * @targetRemovalDate 2025-04-15 */ appDefId?: string[]; } /** Assigned Odeditor */ interface OdeditorAssigned { } /** Unassigned Odeditor */ interface OdeditorUnassigned { } /** Assigned Picasso editor */ interface PicassoAssigned { } /** Unassigned Picasso */ interface PicassoUnassigned { } /** Assigned Wixel */ interface WixelAssigned { } /** Unassigned Wixel */ interface WixelUnassigned { } /** Assigned StudioTwo */ interface StudioTwoAssigned { } /** Unassigned StudioTwo */ interface StudioTwoUnassigned { } /** Media from user domain is enabled. */ interface UserDomainMediaEnabled { } /** Media from user domain is disabled. */ interface UserDomainMediaDisabled { } /** Assigned Editorless */ interface EditorlessAssigned { } /** Unassigned Editorless */ interface EditorlessUnassigned { } /** Triggers FaqDefaultContentJob.handle for the call-scope tenant (Fire Console / DP validation). */ interface RunInstallationContentRequest { } interface RunInstallationContentResponse { } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } interface BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Details related to the account */ accountInfo?: AccountInfo; } interface EventMetadata extends BaseEventMetadata { /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; accountInfo?: AccountInfoMetadata; } interface AccountInfoMetadata { /** ID of the Wix account associated with the event */ accountId: string; /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */ siteId?: string; /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */ parentAccountId?: string; } interface QuestionEntryCreatedEnvelope { entity: QuestionEntry; metadata: EventMetadata; } /** * Triggered when a question entry is created. * @permissionScope Manage FAQ * @permissionScopeId SCOPE.DC-LABS.MANAGE-FAQ * @permissionScope Read FAQ * @permissionScopeId SCOPE.DC-LABS.READ-FAQ * @permissionId FAQ.READ_QUESTIONS * @webhook * @eventType wix.faq.question_entry.v2.question_entry_created * @serviceIdentifier wix.faq.questionentry.v2.QuestionEntryService * @slug created */ declare function onQuestionEntryCreated(handler: (event: QuestionEntryCreatedEnvelope) => void | Promise): void; interface QuestionEntryDeletedEnvelope { metadata: EventMetadata; } /** @permissionScope Manage FAQ * @permissionScopeId SCOPE.DC-LABS.MANAGE-FAQ * @permissionScope Read FAQ * @permissionScopeId SCOPE.DC-LABS.READ-FAQ * @permissionId FAQ.READ_QUESTIONS * @webhook * @eventType wix.faq.question_entry.v2.question_entry_deleted * @slug deleted */ declare function onQuestionEntryDeleted(handler: (event: QuestionEntryDeletedEnvelope) => void | Promise): void; interface QuestionEntryUpdatedEnvelope { entity: QuestionEntry; metadata: EventMetadata; } /** * Triggered when a question entry is updated. * @permissionScope Manage FAQ * @permissionScopeId SCOPE.DC-LABS.MANAGE-FAQ * @permissionScope Read FAQ * @permissionScopeId SCOPE.DC-LABS.READ-FAQ * @permissionId FAQ.READ_QUESTIONS * @webhook * @eventType wix.faq.question_entry.v2.question_entry_updated * @serviceIdentifier wix.faq.questionentry.v2.QuestionEntryService * @slug updated */ declare function onQuestionEntryUpdated(handler: (event: QuestionEntryUpdatedEnvelope) => void | Promise): void; /** * Creates a question entry with the provided details including question text, answer content, and category assignment. * The question entry must be assigned to an existing category and can optionally include labels for additional organization. * @param questionEntry - Question entry to create. * @public * @requiredField questionEntry * @requiredField questionEntry.question * @permissionId FAQ.CREATE_QUESTION * @applicableIdentity APP * @returns Created question entry. * @fqn wix.faq.questionentry.v2.QuestionEntryService.CreateQuestionEntry */ declare function createQuestionEntry(questionEntry: NonNullablePaths): Promise>; /** * Retrieves a single question entry by ID. * @param questionEntryId - ID of the question entry to retrieve. * @public * @requiredField questionEntryId * @permissionId FAQ.READ_QUESTIONS * @applicableIdentity APP * @returns Retrieved question entry. * @fqn wix.faq.questionentry.v2.QuestionEntryService.GetQuestionEntry */ declare function getQuestionEntry(questionEntryId: string): Promise>; /** * Updates a question entry. * * Each time the question entry is updated, `revision` increments by 1. * The current `revision` must be specified when updating the question entry. * This ensures you're working with the latest version of a question entry and prevents unintended overwrites. * * To update multiple question entries, call the Bulk Update Question Entry method. * * To update only the question entry's `extendedFields` field, call the Update Extended Fields method. * * To update only the question entry's labels, call the Set Question Entry Labels method. * @param _id - Question entry ID. * @public * @requiredField _id * @requiredField questionEntry * @requiredField questionEntry.revision * @permissionId FAQ.UPDATE_QUESTION * @applicableIdentity APP * @returns Updated question entry. * @fqn wix.faq.questionentry.v2.QuestionEntryService.UpdateQuestionEntry */ declare function updateQuestionEntry(_id: string, questionEntry: NonNullablePaths): Promise>; interface UpdateQuestionEntry { /** * Answer in [Draft.js](https://draftjs.org/) format. * @minLength 1 * @maxLength 100000 */ draftjs?: string; /** Answer in [rich content](https://ricos.dev/) format. */ richContent?: RichContent; /** * Answer in plain text format. * @minLength 1 * @maxLength 10000 */ plainText?: string; /** * Question entry ID. * @format GUID * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time a question entry is updated. * To prevent conflicting changes, * the current revision must be specified when updating the question entry. * * Ignored when creating a question entry. * @readonly */ revision?: string | null; /** * Date and time the question entry was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the question entry was last updated. * @readonly */ _updatedDate?: Date | null; /** * Question text displayed to site visitors. * @maxLength 1000 */ question?: string | null; /** * Labels assigned to this question entry for additional organization and integration purposes. * Labels are not visible to site visitors. * @maxSize 100 */ labels?: Label[]; /** Order of the question entry within its category. Lower values appear first. */ sortOrder?: number | null; /** * Question entry visibility status. * @internal */ status?: QuestionStatusWithLiterals; /** * ID of the category that this question entry belongs to. * Each question entry must be assigned to exactly one category. * @minLength 1 * @maxLength 50 */ categoryId?: string | null; /** * URL slug generated from the question text for SEO-friendly URLs. * @readonly * @maxLength 100 */ slug?: string | null; /** * Direct link to this specific question entry for sharing. * @readonly * @format WEB_URL */ shareLink?: string | null; /** * Custom field data for the `questionEntry` object. * * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } /** * Deletes a question entry. * * Deleting a question entry permanently removes it from the site's Wix FAQ dashboard page. * * To delete multiple question entries, call the Bulk Delete Question Entries method. * @param questionEntryId - ID of the question entry to delete. * @public * @requiredField questionEntryId * @permissionId FAQ.DELETE_QUESTION * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.DeleteQuestionEntry */ declare function deleteQuestionEntry(questionEntryId: string): Promise; /** * Retrieves a list of question entries, given the specified filters and paging. * * See [Query Question Entries](https://dev.wix.com/docs/rest/business-management/faq-app/faq/question-entry-v2/query-question-entries) for a list of supported filters. * * Use the `fieldSet` parameter to control whether sharing links are included in the response. * @public * @permissionId FAQ.READ_QUESTIONS * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.ListQuestionEntries */ declare function listQuestionEntries(options?: ListQuestionEntriesOptions): Promise>; interface ListQuestionEntriesOptions { /** * ID of the category to filter question entries by. * @minLength 1 * @maxLength 50 */ categoryId?: string | null; /** * IDs of specific question entries to retrieve. * @format GUID * @maxSize 100 */ questionEntryIds?: string[]; /** * Label name to filter question entries by. * @minLength 1 * @maxLength 36 */ questionEntryLabel?: string | null; /** Pagination settings. Not required if specific question entry IDs are provided. */ paging?: CursorPaging; /** Format for answer content in the response. */ contentFormat?: ContentFormatWithLiterals; /** * Fields to include in the response. * @maxSize 100 */ fieldSet?: FieldSetWithLiterals[]; } /** * Retrieves question entries, given the provided paging, filtering, and sorting. * @public * @permissionId FAQ.READ_QUESTIONS * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.QueryQuestionEntries */ declare function queryQuestionEntries(options?: QueryQuestionEntriesOptions): QuestionEntriesQueryBuilder; interface QueryQuestionEntriesOptions { /** Format for answer content in the response. */ contentFormat?: QueryQuestionEntriesRequestContentFormatWithLiterals | undefined; /** * Fields to include in the response. * @maxSize 100 */ fieldSet?: QueryQuestionEntriesRequestFieldSetWithLiterals[] | undefined; } interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface QuestionEntriesQueryResult extends QueryCursorResult { items: QuestionEntry[]; query: QuestionEntriesQueryBuilder; next: () => Promise; prev: () => Promise; } interface QuestionEntriesQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ eq: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ne: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ge: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ gt: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ le: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ lt: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; /** @param propertyName - Property whose value is compared with `string`. * @param string - String to compare against. Case-insensitive. */ startsWith: (propertyName: '_id' | 'question' | 'categoryId', value: string) => QuestionEntriesQueryBuilder; in: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: any) => QuestionEntriesQueryBuilder; exists: (propertyName: '_id' | 'question' | 'sortOrder' | 'categoryId', value: boolean) => QuestionEntriesQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ ascending: (...propertyNames: Array<'_id' | 'question' | 'sortOrder' | 'categoryId'>) => QuestionEntriesQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ descending: (...propertyNames: Array<'_id' | 'question' | 'sortOrder' | 'categoryId'>) => QuestionEntriesQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */ limit: (limit: number) => QuestionEntriesQueryBuilder; /** @param cursor - A pointer to specific record */ skipTo: (cursor: string) => QuestionEntriesQueryBuilder; find: () => Promise; } /** * @hidden * @fqn wix.faq.questionentry.v2.QuestionEntryService.QueryQuestionEntries * @requiredField query */ declare function typedQueryQuestionEntries(query: QuestionEntryQuery, options?: QueryQuestionEntriesOptions): Promise>; interface QuestionEntryQuerySpec extends QuerySpec { paging: 'cursor'; wql: [ { fields: ['_id', 'categoryId', 'question', 'sortOrder']; operators: '*'; sort: 'BOTH'; } ]; } type CommonQueryWithEntityContext = Query; type QuestionEntryQuery = { /** Cursor paging options. Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: { /** Maximum number of items to return in the results. @max: 100 */ limit?: NonNullable['limit'] | null; /** Pointer to the next or previous page in the list of results. Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. @maxLength: 16000 */ cursor?: NonNullable['cursor'] | null; }; /** Filter object. Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: CommonQueryWithEntityContext['filter'] | null; /** Sort object. Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). @maxSize: 5 */ sort?: { /** Name of the field to sort by. @maxLength: 512 */ fieldName?: NonNullable[number]['fieldName']; /** Sort order. */ order?: NonNullable[number]['order']; /** When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by a specific element from a collection, filter can/should be provided to ensure correct sort value is picked. If multiple filters are provided, they are combined with AND operator. Example: Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]} and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] } @internal: undefined, @maxSize: 10 */ selectItemsBy?: NonNullable[number]['selectItemsBy'] | null; /** Origin point for geo-distance sorting on a GEO field results are ordered by distance from this point (ASC = nearest first, DESC = farthest first). */ origin?: NonNullable[number]['origin']; }[]; }; declare const utils: { query: _wix_sdk_types.QueryHelpers; }; /** * Deletes multiple question entries. * * Deleting a question entry permanently removes it from the site's Wix FAQ dashboard page. * * To delete a single question entry, call the Delete Question Entry method. * @param questionEntryIds - IDs of question entries to delete. * @public * @requiredField questionEntryIds * @permissionId FAQ.DELETE_QUESTION * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.BulkDeleteQuestionEntries */ declare function bulkDeleteQuestionEntries(questionEntryIds: string[]): Promise>; /** * Updates extended fields of a question entry without incrementing `revision`. * @param _id - ID of the entity to update. * @param namespace - Identifier for the app whose extended fields are being updated. * @public * @requiredField _id * @requiredField namespace * @requiredField options * @requiredField options.namespaceData * @permissionId FAQ.UPDATE_QUESTION * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.UpdateExtendedFields */ declare function updateExtendedFields(_id: string, namespace: string, options: NonNullablePaths): Promise>; interface UpdateExtendedFieldsOptions { /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */ namespaceData: Record | null; } /** * Sets `labels` for a question entry. * * This method replaces all existing labels for the question entry. * To clear all labels, specify an empty labels array. * @param questionEntryId - ID of the question entry to update labels for. * @public * @requiredField questionEntryId * @permissionId FAQ.SET_QUESTION_LABEL * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.SetQuestionEntryLabels */ declare function setQuestionEntryLabels(questionEntryId: string, options?: SetQuestionEntryLabelsOptions): Promise>; interface SetQuestionEntryLabelsOptions { /** * Labels to assign to the question entry. * @maxSize 100 */ labels?: Label[]; } /** * Updates multiple question entries. * * Each time a question entry is updated, its `revision` increments by 1. * The current `revision` must be specified when updating the question entry. * This ensures you're working with the latest version of a question entry and prevents unintended overwrites. * * To update a single question entry, call the Update Question Entry method. * @public * @requiredField options.questionEntries.questionEntry * @requiredField options.questionEntries.questionEntry._id * @requiredField options.questionEntries.questionEntry.revision * @permissionId FAQ.UPDATE_QUESTION * @applicableIdentity APP * @fqn wix.faq.questionentry.v2.QuestionEntryService.BulkUpdateQuestionEntry */ declare function bulkUpdateQuestionEntry(options?: NonNullablePaths): Promise>; interface BulkUpdateQuestionEntryOptions { /** * Question entries to update with their respective field masks. * @minSize 1 * @maxSize 100 */ questionEntries?: MaskedQuestionEntry[]; /** Whether to include the full updated question entries in the response. */ returnFullEntity?: boolean | null; } export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type AddressLocation, Alignment, type AlignmentWithLiterals, type AnchorData, type Animation, type AppEmbedData, type AppEmbedDataAppDataOneOf, AppType, type AppTypeWithLiterals, type ApplicationError, AspectRatio, type AspectRatioWithLiterals, type Asset, type AudioData, type Backdrop, BackdropType, type BackdropTypeWithLiterals, type Background, type BackgroundGradient, type BackgroundImage, BackgroundType, type BackgroundTypeWithLiterals, type Banner, BannerPosition, type BannerPositionWithLiterals, type BaseEventMetadata, type BlockquoteData, type BookingData, type Border, type BorderColors, type BorderWidths, type BulkActionMetadata, type BulkDeleteQuestionEntriesRequest, type BulkDeleteQuestionEntriesResponse, type BulkUpdateQuestionEntryOptions, type BulkUpdateQuestionEntryRequest, type BulkUpdateQuestionEntryResponse, type BulkUpdateQuestionEntryResult, type BulletedListData, type ButtonData, ButtonDataType, type ButtonDataTypeWithLiterals, type ButtonStyles, type CaptionData, type CardData, type CardDataBackground, CardDataBackgroundType, type CardDataBackgroundTypeWithLiterals, type CardStyles, CardStylesType, type CardStylesTypeWithLiterals, type CellStyle, type CheckboxListData, type CodeBlockData, type CollapsibleListData, type ColorData, type ColorDataBackground, ColorDataBackgroundType, type ColorDataBackgroundTypeWithLiterals, type Colors, ColumnSize, type ColumnSizeWithLiterals, type CommonQueryWithEntityContext, ContentFormat, type ContentFormatWithLiterals, type CreateQuestionEntryRequest, type CreateQuestionEntryResponse, Crop, type CropWithLiterals, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type Decoration, type DecorationDataOneOf, DecorationType, type DecorationTypeWithLiterals, type DeleteContext, type DeleteQuestionEntryRequest, type DeleteQuestionEntryResponse, DeleteStatus, type DeleteStatusWithLiterals, type Design, DesignTarget, type DesignTargetWithLiterals, type Dimensions, Direction, type DirectionWithLiterals, type DividerData, DividerDataAlignment, type DividerDataAlignmentWithLiterals, type DividerDataStyles, type DocumentStyle, type DomainEvent, type DomainEventBodyOneOf, type EditorlessAssigned, type EditorlessUnassigned, type EmbedData, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EntranceAnimation, type EntranceEffect, EntranceEffectType, type EntranceEffectTypeWithLiterals, type EventData, type EventMetadata, type ExtendedFields, FieldSet, type FieldSetWithLiterals, type FileData, type FileSource, type FileSourceDataOneOf, type FontFamilyData, type FontSizeData, FontType, type FontTypeWithLiterals, type GIF, type GIFData, GIFType, type GIFTypeWithLiterals, type GalleryData, type GalleryOptions, type GalleryOptionsLayout, type GetQuestionEntryRequest, type GetQuestionEntryResponse, type Gradient, GradientType, type GradientTypeWithLiterals, type HTMLData, type HTMLDataDataOneOf, type HeadingData, type Height, type IdentificationData, type IdentificationDataIdOneOf, type Image, type ImageData, type ImageDataCrop, type ImageDataStyles, ImagePosition, ImagePositionPosition, type ImagePositionPositionWithLiterals, type ImagePositionWithLiterals, ImageScalingScaling, type ImageScalingScalingWithLiterals, type ImageStyles, Indentation, type IndentationWithLiterals, InitialExpandedItems, type InitialExpandedItemsWithLiterals, type Item, type ItemDataOneOf, type ItemMetadata, type ItemStyle, type Label, LayerEffect, type LayerEffectWithLiterals, type Layers, Layout, type LayoutCellData, type LayoutData, type LayoutDataBackground, type LayoutDataBackgroundImage, LayoutDataBackgroundType, type LayoutDataBackgroundTypeWithLiterals, LayoutType, type LayoutTypeWithLiterals, type LayoutWithLiterals, LineCap, type LineCapWithLiterals, LineStyle, type LineStyleWithLiterals, type Link, type LinkData, type LinkDataOneOf, type LinkPreviewData, type LinkPreviewDataStyles, type ListItemNodeData, type ListQuestionEntriesOptions, type ListQuestionEntriesRequest, type ListQuestionEntriesResponse, ListStyle, type ListStyleWithLiterals, type ListValue, type LoopAnimation, type LoopEffect, LoopEffectType, type LoopEffectTypeWithLiterals, type MapData, type MapSettings, MapType, type MapTypeWithLiterals, type MaskedQuestionEntry, type Media, type MentionData, type MessageEnvelope, type MetaSiteSpecialEvent, type MetaSiteSpecialEventPayloadOneOf, type Metadata, Namespace, type NamespaceChanged, type NamespaceWithLiterals, type Node, type NodeDataOneOf, type NodeStyle, NodeType, type NodeTypeWithLiterals, NullValue, type NullValueWithLiterals, type OdeditorAssigned, type OdeditorUnassigned, type Oembed, type Option, type OptionDesign, type OptionLayout, type OrderedListData, Orientation, type OrientationWithLiterals, Origin, type OriginWithLiterals, type PDFSettings, type PagingMetadataV2, type ParagraphData, type Permissions, type PicassoAssigned, type PicassoUnassigned, Placement, type PlacementWithLiterals, type PlaybackOptions, type PluginContainerData, PluginContainerDataAlignment, type PluginContainerDataAlignmentWithLiterals, type PluginContainerDataWidth, type PluginContainerDataWidthDataOneOf, type PointerEffect, PointerEffectType, type PointerEffectTypeWithLiterals, type Poll, type PollData, type PollDataLayout, type PollDesign, type PollDesignBackground, type PollDesignBackgroundBackgroundOneOf, PollDesignBackgroundType, type PollDesignBackgroundTypeWithLiterals, type PollLayout, PollLayoutDirection, type PollLayoutDirectionWithLiterals, PollLayoutType, type PollLayoutTypeWithLiterals, Position, type PositionWithLiterals, type PricingData, type QueryQuestionEntriesOptions, type QueryQuestionEntriesRequest, QueryQuestionEntriesRequestContentFormat, type QueryQuestionEntriesRequestContentFormatWithLiterals, QueryQuestionEntriesRequestFieldSet, type QueryQuestionEntriesRequestFieldSetWithLiterals, type QueryQuestionEntriesResponse, type QuestionEntriesQueryBuilder, type QuestionEntriesQueryResult, type QuestionEntry, type QuestionEntryAnswerOneOf, type QuestionEntryCreatedEnvelope, type QuestionEntryDeletedEnvelope, type QuestionEntryQuery, type QuestionEntryQuerySpec, type QuestionEntryUpdatedEnvelope, QuestionStatus, type QuestionStatusWithLiterals, type Rel, Resizing, type ResizingWithLiterals, ResponsivenessBehaviour, type ResponsivenessBehaviourWithLiterals, type RestoreInfo, type RibbonStyles, type RichContent, type RunInstallationContentRequest, type RunInstallationContentResponse, Scaling, type ScalingWithLiterals, type SectionDivider, type ServiceProvisioned, type ServiceRemoved, type SetQuestionEntryLabelsOptions, type SetQuestionEntryLabelsRequest, type SetQuestionEntryLabelsResponse, type Settings, Shape, type ShapeData, type ShapeDataStyles, type ShapeWithLiterals, type SiteCreated, SiteCreatedContext, type SiteCreatedContextWithLiterals, type SiteDeleted, type SiteHardDeleted, type SiteMarkedAsTemplate, type SiteMarkedAsWixSite, type SitePublished, type SitePurgedExternally, type SiteRenamed, type SiteTransferred, type SiteUndeleted, type SiteUnpublished, type SiteUrlChanged, type SketchData, type SlotData, type SlotDesign, type SmartBlockCellData, type SmartBlockData, SmartBlockDataType, type SmartBlockDataTypeWithLiterals, SortOrder, type SortOrderWithLiterals, type Sorting, Source, type SourceWithLiterals, type Spoiler, type SpoilerData, State, type StateWithLiterals, type Stop, type StudioAssigned, type StudioTwoAssigned, type StudioTwoUnassigned, type StudioUnassigned, type Styles, type StylesBorder, StylesPosition, type StylesPositionWithLiterals, type TableCellData, type TableData, Target, type TargetWithLiterals, TextAlignment, type TextAlignmentWithLiterals, type TextData, type TextNodeStyle, type TextStyle, type Thumbnails, ThumbnailsAlignment, type ThumbnailsAlignmentWithLiterals, type TocData, Type, type TypeWithLiterals, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateQuestionEntry, type UpdateQuestionEntryRequest, type UpdateQuestionEntryResponse, type UserDomainMediaDisabled, type UserDomainMediaEnabled, Variant, type VariantWithLiterals, VerticalAlignment, VerticalAlignmentAlignment, type VerticalAlignmentAlignmentWithLiterals, type VerticalAlignmentWithLiterals, type Video, type VideoData, ViewMode, type ViewModeWithLiterals, ViewRole, type ViewRoleWithLiterals, VoteRole, type VoteRoleWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, Width, WidthType, type WidthTypeWithLiterals, type WidthWithLiterals, type WixelAssigned, type WixelUnassigned, bulkDeleteQuestionEntries, bulkUpdateQuestionEntry, createQuestionEntry, deleteQuestionEntry, getQuestionEntry, listQuestionEntries, onQuestionEntryCreated, onQuestionEntryDeleted, onQuestionEntryUpdated, queryQuestionEntries, setQuestionEntryLabels, typedQueryQuestionEntries, updateExtendedFields, updateQuestionEntry, utils };