export interface RichContent {
/**
* Rich content ID.
* @readonly
*/
id?: string | null;
/**
* Revision number, which increments by 1 each time the rich content is updated. To prevent conflicting changes, the existing revision must be used when updating rich content.
* @readonly
*/
revision?: string | null;
/**
* Date and time when rich content was created.
* @readonly
*/
createdDate?: Date | null;
/**
* Date and time the rich content was updated.
* @readonly
*/
updatedDate?: Date | null;
/** ID of the event to which rich content is applied. */
eventId?: string | null;
/** Field name whose value uses rich content. For the event description, specify the `about` value. */
fieldName?: string | null;
/**
* Rich content of the event description.
*
*
* See Ricos document reference
*
*/
content?: V1RichContent;
/**
* Custom field data for the rich content object.
*
* **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.
*/
extendedFields?: ExtendedFields;
}
export interface V1RichContent {
/** Node objects representing a rich content document. */
nodes?: Node[];
/** Object metadata. */
metadata?: Metadata;
/** Global styling for header, paragraph, block quote, and code block nodes in the object. */
documentStyle?: DocumentStyle;
}
export interface Node extends NodeDataOneOf {
/** Data for a button node. */
buttonData?: ButtonData;
/** Data for a code block node. */
codeBlockData?: CodeBlockData;
/** Data for a divider node. */
dividerData?: DividerData;
/** Data for a file node. */
fileData?: FileData;
/** Data for a gallery node. */
galleryData?: GalleryData;
/** Data for a GIF node. */
gifData?: GIFData;
/** Data for a heading node. */
headingData?: HeadingData;
/** Data for an embedded HTML node. */
htmlData?: HTMLData;
/** Data for an image node. */
imageData?: ImageData;
/** Data for a link preview node. */
linkPreviewData?: LinkPreviewData;
/** @deprecated */
mapData?: MapData;
/** Data for a paragraph node. */
paragraphData?: ParagraphData;
/** Data for a poll node. */
pollData?: PollData;
/** Data for a text node. Used to apply decorations to text. */
textData?: TextData;
/** Data for an app embed node. */
appEmbedData?: AppEmbedData;
/** Data for a video node. */
videoData?: VideoData;
/** Data for an oEmbed node. */
embedData?: EmbedData;
/** Data for a collapsible list node. */
collapsibleListData?: CollapsibleListData;
/** Data for a table node. */
tableData?: TableData;
/** Data for a table cell node. */
tableCellData?: TableCellData;
/** Data for a custom external node. */
externalData?: Record | null;
/** Data for an audio node. */
audioData?: AudioData;
/** Data for an ordered list node. */
orderedListData?: OrderedListData;
/** Data for a bulleted list node. */
bulletedListData?: BulletedListData;
/** Data for a block quote node. */
blockquoteData?: BlockquoteData;
/** Data for a caption node. */
captionData?: CaptionData;
/** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
layoutCellData?: LayoutCellData;
/** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */
type?: NodeType;
/** Node ID. */
id?: string;
/** A list of child nodes. */
nodes?: Node[];
/** Padding and background color styling for the node. */
style?: NodeStyle;
}
/** @oneof */
export interface NodeDataOneOf {
/** Data for a button node. */
buttonData?: ButtonData;
/** Data for a code block node. */
codeBlockData?: CodeBlockData;
/** Data for a divider node. */
dividerData?: DividerData;
/** Data for a file node. */
fileData?: FileData;
/** Data for a gallery node. */
galleryData?: GalleryData;
/** Data for a GIF node. */
gifData?: GIFData;
/** Data for a heading node. */
headingData?: HeadingData;
/** Data for an embedded HTML node. */
htmlData?: HTMLData;
/** Data for an image node. */
imageData?: ImageData;
/** Data for a link preview node. */
linkPreviewData?: LinkPreviewData;
/** @deprecated */
mapData?: MapData;
/** Data for a paragraph node. */
paragraphData?: ParagraphData;
/** Data for a poll node. */
pollData?: PollData;
/** Data for a text node. Used to apply decorations to text. */
textData?: TextData;
/** Data for an app embed node. */
appEmbedData?: AppEmbedData;
/** Data for a video node. */
videoData?: VideoData;
/** Data for an oEmbed node. */
embedData?: EmbedData;
/** Data for a collapsible list node. */
collapsibleListData?: CollapsibleListData;
/** Data for a table node. */
tableData?: TableData;
/** Data for a table cell node. */
tableCellData?: TableCellData;
/** Data for a custom external node. */
externalData?: Record | null;
/** Data for an audio node. */
audioData?: AudioData;
/** Data for an ordered list node. */
orderedListData?: OrderedListData;
/** Data for a bulleted list node. */
bulletedListData?: BulletedListData;
/** Data for a block quote node. */
blockquoteData?: BlockquoteData;
/** Data for a caption node. */
captionData?: CaptionData;
/** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
layoutCellData?: LayoutCellData;
}
export declare enum NodeType {
PARAGRAPH = "PARAGRAPH",
TEXT = "TEXT",
HEADING = "HEADING",
BULLETED_LIST = "BULLETED_LIST",
ORDERED_LIST = "ORDERED_LIST",
LIST_ITEM = "LIST_ITEM",
BLOCKQUOTE = "BLOCKQUOTE",
CODE_BLOCK = "CODE_BLOCK",
VIDEO = "VIDEO",
DIVIDER = "DIVIDER",
FILE = "FILE",
GALLERY = "GALLERY",
GIF = "GIF",
HTML = "HTML",
IMAGE = "IMAGE",
LINK_PREVIEW = "LINK_PREVIEW",
/** @deprecated */
MAP = "MAP",
POLL = "POLL",
APP_EMBED = "APP_EMBED",
BUTTON = "BUTTON",
COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST",
TABLE = "TABLE",
EMBED = "EMBED",
COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM",
COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE",
COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY",
TABLE_CELL = "TABLE_CELL",
TABLE_ROW = "TABLE_ROW",
EXTERNAL = "EXTERNAL",
AUDIO = "AUDIO",
CAPTION = "CAPTION",
LAYOUT = "LAYOUT",
LAYOUT_CELL = "LAYOUT_CELL"
}
export interface NodeStyle {
/** The top padding value in pixels. */
paddingTop?: string | null;
/** The bottom padding value in pixels. */
paddingBottom?: string | null;
/** The background color as a hexadecimal value. */
backgroundColor?: string | null;
}
export interface ButtonData {
/** Styling for the button's container. */
containerData?: PluginContainerData;
/** The button type. */
type?: Type;
/** Styling for the button. */
styles?: Styles;
/** The text to display on the button. */
text?: string | null;
/** Button link details. */
link?: Link;
}
export interface Border {
/** Border width in pixels. */
width?: number | null;
/** Border radius in pixels. */
radius?: number | null;
}
export interface Colors {
/** The text color as a hexadecimal value. */
text?: string | null;
/** The border color as a hexadecimal value. */
border?: string | null;
/** The background color as a hexadecimal value. */
background?: string | null;
}
export interface PluginContainerData {
/** The width of the node when it's displayed. */
width?: PluginContainerDataWidth;
/** The node's alignment within its container. */
alignment?: PluginContainerDataAlignment;
/** Spoiler cover settings for the node. */
spoiler?: Spoiler;
/** The height of the node when it's displayed. */
height?: Height;
/** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */
textWrap?: boolean | null;
}
export declare enum WidthType {
/** Width matches the content width */
CONTENT = "CONTENT",
/** Small Width */
SMALL = "SMALL",
/** Width will match the original asset width */
ORIGINAL = "ORIGINAL",
/** coast-to-coast display */
FULL_WIDTH = "FULL_WIDTH"
}
export interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {
/**
* One of the following predefined width options:
* `CONTENT`: The width of the container matches the content width.
* `SMALL`: A small width.
* `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
* `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
*/
size?: WidthType;
/** A custom width value in pixels. */
custom?: string | null;
}
/** @oneof */
export interface PluginContainerDataWidthDataOneOf {
/**
* One of the following predefined width options:
* `CONTENT`: The width of the container matches the content width.
* `SMALL`: A small width.
* `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
* `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
*/
size?: WidthType;
/** A custom width value in pixels. */
custom?: string | null;
}
export declare enum PluginContainerDataAlignment {
/** Center Alignment */
CENTER = "CENTER",
/** Left Alignment */
LEFT = "LEFT",
/** Right Alignment */
RIGHT = "RIGHT"
}
export interface Spoiler {
/** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */
enabled?: boolean | null;
/** The description displayed on top of the spoiler cover. */
description?: string | null;
/** The text for the button used to remove the spoiler cover. */
buttonText?: string | null;
}
export interface Height {
/** A custom height value in pixels. */
custom?: string | null;
}
export declare enum Type {
/** Regular link button */
LINK = "LINK",
/** Triggers custom action that is defined in plugin configuration by the consumer */
ACTION = "ACTION"
}
export interface Styles {
/** Border attributes. */
border?: Border;
/** Color attributes. */
colors?: Colors;
}
export interface Link extends LinkDataOneOf {
/** The absolute URL for the linked document. */
url?: string;
/** The target node's ID. Used for linking to another node in this object. */
anchor?: string;
/**
* he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:
* `SELF` - Default. Opens the linked document in the same frame as the link.
* `BLANK` - Opens the linked document in a new browser tab or window.
* `PARENT` - Opens the linked document in the link's parent frame.
* `TOP` - Opens the linked document in the full body of the link's browser tab or window.
*/
target?: Target;
/** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */
rel?: Rel;
/** A serialized object used for a custom or external link panel. */
customData?: string | null;
}
/** @oneof */
export interface LinkDataOneOf {
/** The absolute URL for the linked document. */
url?: string;
/** The target node's ID. Used for linking to another node in this object. */
anchor?: string;
}
export declare enum Target {
/** Opens the linked document in the same frame as it was clicked (this is default) */
SELF = "SELF",
/** Opens the linked document in a new window or tab */
BLANK = "BLANK",
/** Opens the linked document in the parent frame */
PARENT = "PARENT",
/** Opens the linked document in the full body of the window */
TOP = "TOP"
}
export interface Rel {
/** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */
nofollow?: boolean | null;
/** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */
sponsored?: boolean | null;
/** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */
ugc?: boolean | null;
/** Indicates that this link protect referral information from being passed to the target website. */
noreferrer?: boolean | null;
}
export interface CodeBlockData {
/** Styling for the code block's text. */
textStyle?: TextStyle;
}
export interface TextStyle {
/** Text alignment. Defaults to `AUTO`. */
textAlignment?: TextAlignment;
/** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */
lineHeight?: string | null;
}
export declare enum TextAlignment {
/** browser default, eqivalent to `initial` */
AUTO = "AUTO",
/** Left align */
LEFT = "LEFT",
/** Right align */
RIGHT = "RIGHT",
/** Center align */
CENTER = "CENTER",
/** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */
JUSTIFY = "JUSTIFY"
}
export interface DividerData {
/** Styling for the divider's container. */
containerData?: PluginContainerData;
/** Divider line style. */
lineStyle?: LineStyle;
/** Divider width. */
width?: Width;
/** Divider alignment. */
alignment?: Alignment;
}
export declare enum LineStyle {
/** Single Line */
SINGLE = "SINGLE",
/** Double Line */
DOUBLE = "DOUBLE",
/** Dashed Line */
DASHED = "DASHED",
/** Dotted Line */
DOTTED = "DOTTED"
}
export declare enum Width {
/** Large line */
LARGE = "LARGE",
/** Medium line */
MEDIUM = "MEDIUM",
/** Small line */
SMALL = "SMALL"
}
export declare enum Alignment {
/** Center alignment */
CENTER = "CENTER",
/** Left alignment */
LEFT = "LEFT",
/** Right alignment */
RIGHT = "RIGHT"
}
export interface FileData {
/** Styling for the file's container. */
containerData?: PluginContainerData;
/** The source for the file's data. */
src?: FileSource;
/** File name. */
name?: string | null;
/** File type. */
type?: string | null;
/**
* Use `sizeInKb` instead.
* @deprecated
*/
size?: number | null;
/** Settings for PDF files. */
pdfSettings?: PDFSettings;
/** File MIME type. */
mimeType?: string | null;
/** File path. */
path?: string | null;
/** File size in KB. */
sizeInKb?: string | null;
}
export declare enum ViewMode {
/** No PDF view */
NONE = "NONE",
/** Full PDF view */
FULL = "FULL",
/** Mini PDF view */
MINI = "MINI"
}
export interface FileSource extends FileSourceDataOneOf {
/** The absolute URL for the file's source. */
url?: string | null;
/**
* Custom ID. Use `id` instead.
* @deprecated
*/
custom?: string | null;
/** An ID that's resolved to a URL by a resolver function. */
id?: string | null;
/** Indicates whether the file's source is private. Defaults to `false`. */
private?: boolean | null;
}
/** @oneof */
export interface FileSourceDataOneOf {
/** The absolute URL for the file's source. */
url?: string | null;
/**
* Custom ID. Use `id` instead.
* @deprecated
*/
custom?: string | null;
/** An ID that's resolved to a URL by a resolver function. */
id?: string | null;
}
export interface PDFSettings {
/**
* PDF view mode. One of the following:
* `NONE` : The PDF isn't displayed.
* `FULL` : A full page view of the PDF is displayed.
* `MINI` : A mini view of the PDF is displayed.
*/
viewMode?: ViewMode;
/** Sets whether the PDF download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Sets whether the PDF print button is disabled. Defaults to `false`. */
disablePrint?: boolean | null;
}
export interface GalleryData {
/** Styling for the gallery's container. */
containerData?: PluginContainerData;
/** The items in the gallery. */
items?: Item[];
/** Options for defining the gallery's appearance. */
options?: GalleryOptions;
/** Sets whether the gallery's expand button is disabled. Defaults to `false`. */
disableExpand?: boolean | null;
/** Sets whether the gallery's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
}
export interface Media {
/** The source for the media's data. */
src?: FileSource;
/** Media width in pixels. */
width?: number | null;
/** Media height in pixels. */
height?: number | null;
/** Media duration in seconds. Only relevant for audio and video files. */
duration?: number | null;
}
export interface Image {
/** Image file details. */
media?: Media;
/** Link details for images that are links. */
link?: Link;
}
export interface Video {
/** Video file details. */
media?: Media;
/** Video thumbnail file details. */
thumbnail?: Media;
}
export interface Item extends ItemDataOneOf {
/** An image item. */
image?: Image;
/** A video item. */
video?: Video;
/** Item title. */
title?: string | null;
/** Item's alternative text. */
altText?: string | null;
}
/** @oneof */
export interface ItemDataOneOf {
/** An image item. */
image?: Image;
/** A video item. */
video?: Video;
}
export interface GalleryOptions {
/** Gallery layout. */
layout?: Layout;
/** Styling for gallery items. */
item?: ItemStyle;
/** Styling for gallery thumbnail images. */
thumbnails?: Thumbnails;
}
export declare enum LayoutType {
/** Collage type */
COLLAGE = "COLLAGE",
/** Masonry type */
MASONRY = "MASONRY",
/** Grid type */
GRID = "GRID",
/** Thumbnail type */
THUMBNAIL = "THUMBNAIL",
/** Slider type */
SLIDER = "SLIDER",
/** Slideshow type */
SLIDESHOW = "SLIDESHOW",
/** Panorama type */
PANORAMA = "PANORAMA",
/** Column type */
COLUMN = "COLUMN",
/** Magic type */
MAGIC = "MAGIC",
/** Fullsize images type */
FULLSIZE = "FULLSIZE"
}
export declare enum Orientation {
/** Rows Orientation */
ROWS = "ROWS",
/** Columns Orientation */
COLUMNS = "COLUMNS"
}
export declare enum Crop {
/** Crop to fill */
FILL = "FILL",
/** Crop to fit */
FIT = "FIT"
}
export declare enum ThumbnailsAlignment {
/** Top alignment */
TOP = "TOP",
/** Right alignment */
RIGHT = "RIGHT",
/** Bottom alignment */
BOTTOM = "BOTTOM",
/** Left alignment */
LEFT = "LEFT",
/** No thumbnail */
NONE = "NONE"
}
export interface Layout {
/** Gallery layout type. */
type?: LayoutType;
/** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */
horizontalScroll?: boolean | null;
/** Gallery orientation. */
orientation?: Orientation;
/** The number of columns to display on full size screens. */
numberOfColumns?: number | null;
/** The number of columns to display on mobile screens. */
mobileNumberOfColumns?: number | null;
}
export interface ItemStyle {
/** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */
targetSize?: number | null;
/** Item ratio */
ratio?: number | null;
/** Sets how item images are cropped. */
crop?: Crop;
/** The spacing between items in pixels. */
spacing?: number | null;
}
export interface Thumbnails {
/** Thumbnail alignment. */
placement?: ThumbnailsAlignment;
/** Spacing between thumbnails in pixels. */
spacing?: number | null;
}
export interface GIFData {
/** Styling for the GIF's container. */
containerData?: PluginContainerData;
/** The source of the full size GIF. */
original?: GIF;
/** The source of the downsized GIF. */
downsized?: GIF;
/** Height in pixels. */
height?: number;
/** Width in pixels. */
width?: number;
/** Type of GIF (Sticker or GIF). Defaults to `GIF`. */
gifType?: GIFType;
}
export interface GIF {
/** GIF format URL. */
gif?: string | null;
/** MP4 format URL. */
mp4?: string | null;
/** Thumbnail URL. */
still?: string | null;
}
export declare enum GIFType {
GIF = "GIF",
STICKER = "STICKER"
}
export interface HeadingData {
/** Heading level from 1-6. */
level?: number;
/** Styling for the heading text. */
textStyle?: TextStyle;
/** Indentation level from 1-4. */
indentation?: number | null;
}
export interface HTMLData extends HTMLDataDataOneOf {
/** The URL for the HTML code for the node. */
url?: string;
/** The HTML code for the node. */
html?: string;
/**
* Whether this is an AdSense element. Use `source` instead.
* @deprecated
*/
isAdsense?: boolean | null;
/** Styling for the HTML node's container. */
containerData?: PluginContainerData;
/** The type of HTML code. */
source?: Source;
}
/** @oneof */
export interface HTMLDataDataOneOf {
/** The URL for the HTML code for the node. */
url?: string;
/** The HTML code for the node. */
html?: string;
/**
* Whether this is an AdSense element. Use `source` instead.
* @deprecated
*/
isAdsense?: boolean | null;
}
export declare enum Source {
HTML = "HTML",
ADSENSE = "ADSENSE"
}
export interface ImageData {
/** Styling for the image's container. */
containerData?: PluginContainerData;
/** Image file details. */
image?: Media;
/** Link details for images that are links. */
link?: Link;
/** Sets whether the image expands to full screen when clicked. Defaults to `false`. */
disableExpand?: boolean | null;
/** Image's alternative text. */
altText?: string | null;
/**
* Deprecated: use Caption node instead.
* @deprecated
*/
caption?: string | null;
/** Sets whether the image's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
}
export interface LinkPreviewData {
/** Styling for the link preview's container. */
containerData?: PluginContainerData;
/** Link details. */
link?: Link;
/** Preview title. */
title?: string | null;
/** Preview thumbnail URL. */
thumbnailUrl?: string | null;
/** Preview description. */
description?: string | null;
/** The preview content as HTML. */
html?: string | null;
}
export interface MapData {
/** Styling for the map's container. */
containerData?: PluginContainerData;
/** Map settings. */
mapSettings?: MapSettings;
}
export interface MapSettings {
/** The address to display on the map. */
address?: string | null;
/** Sets whether the map is draggable. */
draggable?: boolean | null;
/** Sets whether the location marker is visible. */
marker?: boolean | null;
/** Sets whether street view control is enabled. */
streetViewControl?: boolean | null;
/** Sets whether zoom control is enabled. */
zoomControl?: boolean | null;
/** Location latitude. */
lat?: number | null;
/** Location longitude. */
lng?: number | null;
/** Location name. */
locationName?: string | null;
/** Sets whether view mode control is enabled. */
viewModeControl?: boolean | null;
/** Initial zoom value. */
initialZoom?: number | null;
/** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */
mapType?: MapType;
}
export declare enum MapType {
/** Roadmap map type */
ROADMAP = "ROADMAP",
/** Satellite map type */
SATELITE = "SATELITE",
/** Hybrid map type */
HYBRID = "HYBRID",
/** Terrain map type */
TERRAIN = "TERRAIN"
}
export interface ParagraphData {
/** Styling for the paragraph text. */
textStyle?: TextStyle;
/** Indentation level from 1-4. */
indentation?: number | null;
/** Paragraph level */
level?: number | null;
}
export interface PollData {
/** Styling for the poll's container. */
containerData?: PluginContainerData;
/** Poll data. */
poll?: Poll;
/** Layout settings for the poll and voting options. */
layout?: PollDataLayout;
/** Styling for the poll and voting options. */
design?: Design;
}
export declare enum ViewRole {
/** Only Poll creator can view the results */
CREATOR = "CREATOR",
/** Anyone who voted can see the results */
VOTERS = "VOTERS",
/** Anyone can see the results, even if one didn't vote */
EVERYONE = "EVERYONE"
}
export declare enum VoteRole {
/** Logged in member */
SITE_MEMBERS = "SITE_MEMBERS",
/** Anyone */
ALL = "ALL"
}
export interface Permissions {
/** Sets who can view the poll results. */
view?: ViewRole;
/** Sets who can vote. */
vote?: VoteRole;
/** Sets whether one voter can vote multiple times. Defaults to `false`. */
allowMultipleVotes?: boolean | null;
}
export interface Option {
/** Option ID. */
id?: string | null;
/** Option title. */
title?: string | null;
/** The image displayed with the option. */
image?: Media;
}
export interface Settings {
/** Permissions settings for voting. */
permissions?: Permissions;
/** Sets whether voters are displayed in the vote results. Defaults to `true`. */
showVoters?: boolean | null;
/** Sets whether the vote count is displayed. Defaults to `true`. */
showVotesCount?: boolean | null;
}
export declare enum PollLayoutType {
/** List */
LIST = "LIST",
/** Grid */
GRID = "GRID"
}
export declare enum PollLayoutDirection {
/** Left-to-right */
LTR = "LTR",
/** Right-to-left */
RTL = "RTL"
}
export interface PollLayout {
/** The layout for displaying the voting options. */
type?: PollLayoutType;
/** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */
direction?: PollLayoutDirection;
/** Sets whether to display the main poll image. Defaults to `false`. */
enableImage?: boolean | null;
}
export interface OptionLayout {
/** Sets whether to display option images. Defaults to `false`. */
enableImage?: boolean | null;
}
export declare enum BackgroundType {
/** Color background type */
COLOR = "COLOR",
/** Image background type */
IMAGE = "IMAGE",
/** Gradiant background type */
GRADIENT = "GRADIENT"
}
export interface Gradient {
/** The gradient angle in degrees. */
angle?: number | null;
/** The start color as a hexademical value. */
startColor?: string | null;
/** The end color as a hexademical value. */
lastColor?: string | null;
}
export interface Background extends BackgroundBackgroundOneOf {
/** The background color as a hexademical value. */
color?: string | null;
/** An image to use for the background. */
image?: Media;
/** Details for a gradient background. */
gradient?: Gradient;
/** Background type. For each option, include the relevant details. */
type?: BackgroundType;
}
/** @oneof */
export interface BackgroundBackgroundOneOf {
/** The background color as a hexademical value. */
color?: string | null;
/** An image to use for the background. */
image?: Media;
/** Details for a gradient background. */
gradient?: Gradient;
}
export interface PollDesign {
/** Background styling. */
background?: Background;
/** Border radius in pixels. */
borderRadius?: number | null;
}
export interface OptionDesign {
/** Border radius in pixels. */
borderRadius?: number | null;
}
export interface Poll {
/** Poll ID. */
id?: string | null;
/** Poll title. */
title?: string | null;
/** Poll creator ID. */
creatorId?: string | null;
/** Main poll image. */
image?: Media;
/** Voting options. */
options?: Option[];
/** The poll's permissions and display settings. */
settings?: Settings;
}
export interface PollDataLayout {
/** Poll layout settings. */
poll?: PollLayout;
/** Voting otpions layout settings. */
options?: OptionLayout;
}
export interface Design {
/** Styling for the poll. */
poll?: PollDesign;
/** Styling for voting options. */
options?: OptionDesign;
}
export interface TextData {
/** The text to apply decorations to. */
text?: string;
/** The decorations to apply. */
decorations?: Decoration[];
}
/** Adds appearence changes to text */
export interface Decoration extends DecorationDataOneOf {
/** Data for an anchor link decoration. */
anchorData?: AnchorData;
/** Data for a color decoration. */
colorData?: ColorData;
/** Data for an external link decoration. */
linkData?: LinkData;
/** Data for a mention decoration. */
mentionData?: MentionData;
/** Data for a font size decoration. */
fontSizeData?: FontSizeData;
/** Font weight for a bold decoration. */
fontWeightValue?: number | null;
/** Data for an italic decoration. Defaults to `true`. */
italicData?: boolean | null;
/** Data for an underline decoration. Defaults to `true`. */
underlineData?: boolean | null;
/** Data for a spoiler decoration. */
spoilerData?: SpoilerData;
/** The type of decoration to apply. */
type?: DecorationType;
}
/** @oneof */
export interface DecorationDataOneOf {
/** Data for an anchor link decoration. */
anchorData?: AnchorData;
/** Data for a color decoration. */
colorData?: ColorData;
/** Data for an external link decoration. */
linkData?: LinkData;
/** Data for a mention decoration. */
mentionData?: MentionData;
/** Data for a font size decoration. */
fontSizeData?: FontSizeData;
/** Font weight for a bold decoration. */
fontWeightValue?: number | null;
/** Data for an italic decoration. Defaults to `true`. */
italicData?: boolean | null;
/** Data for an underline decoration. Defaults to `true`. */
underlineData?: boolean | null;
/** Data for a spoiler decoration. */
spoilerData?: SpoilerData;
}
export declare enum DecorationType {
BOLD = "BOLD",
ITALIC = "ITALIC",
UNDERLINE = "UNDERLINE",
SPOILER = "SPOILER",
ANCHOR = "ANCHOR",
MENTION = "MENTION",
LINK = "LINK",
COLOR = "COLOR",
FONT_SIZE = "FONT_SIZE",
EXTERNAL = "EXTERNAL"
}
export interface AnchorData {
/** The target node's ID. */
anchor?: string;
}
export interface ColorData {
/** The text's background color as a hexadecimal value. */
background?: string | null;
/** The text's foreground color as a hexadecimal value. */
foreground?: string | null;
}
export interface LinkData {
/** Link details. */
link?: Link;
}
export interface MentionData {
/** The mentioned user's name. */
name?: string;
/** The version of the user's name that appears after the `@` character in the mention. */
slug?: string;
/** Mentioned user's ID. */
id?: string | null;
}
export interface FontSizeData {
/** The units used for the font size. */
unit?: FontType;
/** Font size value. */
value?: number | null;
}
export declare enum FontType {
PX = "PX",
EM = "EM"
}
export interface SpoilerData {
/** Spoiler ID. */
id?: string | null;
}
export interface AppEmbedData extends AppEmbedDataAppDataOneOf {
/** Data for embedded Wix Bookings content. */
bookingData?: BookingData;
/** Data for embedded Wix Events content. */
eventData?: EventData;
/** The type of Wix App content being embedded. */
type?: AppType;
/** The ID of the embedded content. */
itemId?: string | null;
/** The name of the embedded content. */
name?: string | null;
/**
* Deprecated: Use `image` instead.
* @deprecated
*/
imageSrc?: string | null;
/** The URL for the embedded content. */
url?: string | null;
/** An image for the embedded content. */
image?: Media;
}
/** @oneof */
export interface AppEmbedDataAppDataOneOf {
/** Data for embedded Wix Bookings content. */
bookingData?: BookingData;
/** Data for embedded Wix Events content. */
eventData?: EventData;
}
export declare enum AppType {
PRODUCT = "PRODUCT",
EVENT = "EVENT",
BOOKING = "BOOKING"
}
export interface BookingData {
/** Booking duration in minutes. */
durations?: string | null;
}
export interface EventData {
/** Event schedule. */
scheduling?: string | null;
/** Event location. */
location?: string | null;
}
export interface VideoData {
/** Styling for the video's container. */
containerData?: PluginContainerData;
/** Video details. */
video?: Media;
/** Video thumbnail details. */
thumbnail?: Media;
/** Sets whether the video's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Video title. */
title?: string | null;
/** Video options. */
options?: PlaybackOptions;
}
export interface PlaybackOptions {
/** Sets whether the media will automatically start playing. */
autoPlay?: boolean | null;
/** Sets whether media's will be looped. */
playInLoop?: boolean | null;
/** Sets whether media's controls will be shown. */
showControls?: boolean | null;
}
export interface EmbedData {
/** Styling for the oEmbed node's container. */
containerData?: PluginContainerData;
/** An [oEmbed](https://www.oembed.com) object. */
oembed?: Oembed;
/** Origin asset source. */
src?: string | null;
}
export interface Oembed {
/** The resource type. */
type?: string | null;
/** The width of the resource specified in the `url` property in pixels. */
width?: number | null;
/** The height of the resource specified in the `url` property in pixels. */
height?: number | null;
/** Resource title. */
title?: string | null;
/** The source URL for the resource. */
url?: string | null;
/** HTML for embedding a video player. The HTML should have no padding or margins. */
html?: string | null;
/** The name of the author or owner of the resource. */
authorName?: string | null;
/** The URL for the author or owner of the resource. */
authorUrl?: string | null;
/** The name of the resource provider. */
providerName?: string | null;
/** The URL for the resource provider. */
providerUrl?: string | null;
/** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */
thumbnailUrl?: string | null;
/** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */
thumbnailWidth?: string | null;
/** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */
thumbnailHeight?: string | null;
/** The URL for an embedded viedo. */
videoUrl?: string | null;
/** The oEmbed version number. This value must be `1.0`. */
version?: string | null;
}
export interface CollapsibleListData {
/** Styling for the collapsible list's container. */
containerData?: PluginContainerData;
/** If `true`, only one item can be expanded at a time. Defaults to `false`. */
expandOnlyOne?: boolean | null;
/** Sets which items are expanded when the page loads. */
initialExpandedItems?: InitialExpandedItems;
/** The direction of the text in the list. Either left-to-right or right-to-left. */
direction?: Direction;
/** If `true`, The collapsible item will appear in search results as an FAQ. */
isQapageData?: boolean | null;
}
export declare enum InitialExpandedItems {
/** First item will be expended initally */
FIRST = "FIRST",
/** All items will expended initally */
ALL = "ALL",
/** All items collapsed initally */
NONE = "NONE"
}
export declare enum Direction {
/** Left-to-right */
LTR = "LTR",
/** Right-to-left */
RTL = "RTL"
}
export interface TableData {
/** Styling for the table's container. */
containerData?: PluginContainerData;
/** The table's dimensions. */
dimensions?: Dimensions;
/**
* Deprecated: Use `rowHeader` and `columnHeader` instead.
* @deprecated
*/
header?: boolean | null;
/** Sets whether the table's first row is a header. Defaults to `false`. */
rowHeader?: boolean | null;
/** Sets whether the table's first column is a header. Defaults to `false`. */
columnHeader?: boolean | null;
}
export interface Dimensions {
/** An array representing relative width of each column in relation to the other columns. */
colsWidthRatio?: number[];
/** An array representing the height of each row in pixels. */
rowsHeight?: number[];
/** An array representing the minimum width of each column in pixels. */
colsMinWidth?: number[];
}
export interface TableCellData {
/** Styling for the cell's background color and text alignment. */
cellStyle?: CellStyle;
/** The cell's border colors. */
borderColors?: BorderColors;
}
export declare enum VerticalAlignment {
/** Top alignment */
TOP = "TOP",
/** Middle alignment */
MIDDLE = "MIDDLE",
/** Bottom alignment */
BOTTOM = "BOTTOM"
}
export interface CellStyle {
/** Vertical alignment for the cell's text. */
verticalAlignment?: VerticalAlignment;
/** Cell background color as a hexadecimal value. */
backgroundColor?: string | null;
}
export interface BorderColors {
/** Left border color as a hexadecimal value. */
left?: string | null;
/** Right border color as a hexadecimal value. */
right?: string | null;
/** Top border color as a hexadecimal value. */
top?: string | null;
/** Bottom border color as a hexadecimal value. */
bottom?: string | null;
}
/**
* `NullValue` is a singleton enumeration to represent the null value for the
* `Value` type union.
*
* The JSON representation for `NullValue` is JSON `null`.
*/
export declare enum NullValue {
/** Null value. */
NULL_VALUE = "NULL_VALUE"
}
/**
* `ListValue` is a wrapper around a repeated field of values.
*
* The JSON representation for `ListValue` is JSON array.
*/
export interface ListValue {
/** Repeated field of dynamically typed values. */
values?: any[];
}
export interface AudioData {
/** Styling for the audio node's container. */
containerData?: PluginContainerData;
/** Audio file details. */
audio?: Media;
/** Sets whether the audio node's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Cover image. */
coverImage?: Media;
/** Track name. */
name?: string | null;
/** Author name. */
authorName?: string | null;
/** An HTML version of the audio node. */
html?: string | null;
}
export interface OrderedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
/** List start number. */
start?: number | null;
}
export interface BulletedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
}
export interface BlockquoteData {
/** Indentation level from 1-4. */
indentation?: number;
}
export interface CaptionData {
textStyle?: TextStyle;
}
export interface LayoutCellData {
/** Size of the cell in 12 columns grid. */
colSpan?: number | null;
}
export interface Metadata {
/** Schema version. */
version?: number;
/**
* When the object was created.
* @readonly
* @deprecated
*/
createdTimestamp?: Date | null;
/**
* When the object was most recently updated.
* @deprecated
*/
updatedTimestamp?: Date | null;
/** Object ID. */
id?: string | null;
}
export interface DocumentStyle {
/** Styling for H1 nodes. */
headerOne?: TextNodeStyle;
/** Styling for H2 nodes. */
headerTwo?: TextNodeStyle;
/** Styling for H3 nodes. */
headerThree?: TextNodeStyle;
/** Styling for H4 nodes. */
headerFour?: TextNodeStyle;
/** Styling for H5 nodes. */
headerFive?: TextNodeStyle;
/** Styling for H6 nodes. */
headerSix?: TextNodeStyle;
/** Styling for paragraph nodes. */
paragraph?: TextNodeStyle;
/** Styling for block quote nodes. */
blockquote?: TextNodeStyle;
/** Styling for code block nodes. */
codeBlock?: TextNodeStyle;
}
export interface TextNodeStyle {
/** The decorations to apply to the node. */
decorations?: Decoration[];
/** Padding and background color for the node. */
nodeStyle?: NodeStyle;
/** Line height for text in the node. */
lineHeight?: string | null;
}
export interface 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>;
}
export interface CreateRichContentRequest {
/** Rich content details. */
richContent: RichContent;
}
export interface CreateRichContentResponse {
/** Created rich content. */
richContent?: RichContent;
}
export interface GetRichContentRequest {
/** Rich content ID. */
richContentId: string;
}
export interface GetRichContentResponse {
/** The requested rich content. */
richContent?: RichContent;
}
export interface UpdateRichContentRequest {
/** Fields to update. */
richContent: RichContent;
}
export interface UpdateRichContentResponse {
/** Updated rich content. */
richContent?: RichContent;
}
export interface DeleteRichContentRequest {
/** ID of rich content to delete. */
richContentId: string;
}
export interface DeleteRichContentResponse {
}
export interface QueryRichContentsRequest {
/** WQL expression. */
query?: CursorQuery;
}
export 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 the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).
*/
filter?: Record | null;
/**
* Sort object.
*
* Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).
*/
sort?: Sorting[];
}
/** @oneof */
export 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;
}
export interface Sorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder;
}
export declare enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
export interface CursorPaging {
/** Maximum number of items to return in the results. */
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.
*/
cursor?: string | null;
}
export interface QueryRichContentsResponse {
/** List of RichContents. */
richContents?: RichContent[];
/** Paging metadata */
pagingMetadata?: CursorPagingMetadata;
}
export 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;
}
export interface Cursors {
/** Cursor string pointing to the next page in the list of results. */
next?: string | null;
/** Cursor pointing to the previous page in the list of results. */
prev?: string | null;
}
export interface QueryRichContentRequest {
/** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */
query?: CursorQuery;
}
export interface QueryRichContentResponse {
/** List of rich content entities. */
richContent?: RichContent[];
/** Paging metadata. */
pagingMetadata?: CursorPagingMetadata;
}
export interface EventCopied {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/**
* Map of copied ticket definitions from original event.
* Key represents ticket def id in the original event.
* Value represents ticket def id in the newly created event.
*/
ticketDefinitions?: Record;
}
export interface Location {
/** Location name. */
name?: string | null;
/** Location map coordinates. */
coordinates?: MapCoordinates;
/** Single line address representation. */
address?: string | null;
/** Location type. */
type?: LocationType;
/**
* Full address derived from formatted single line `address`.
* When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.
* If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.
*
* Migration notes:
* - `full_address.formatted_address` is equivalent to `address`.
* - `full_address.geocode` is equivalent to `coordinates`.
*/
fullAddress?: Address;
/**
* Defines event location as TBD (To Be Determined).
* When event location is not yet defined, `name` is displayed instead of location address.
* `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.
*/
tbd?: boolean | null;
}
export interface MapCoordinates {
/** Latitude. */
lat?: number;
/** Longitude. */
lng?: number;
}
export declare enum LocationType {
VENUE = "VENUE",
ONLINE = "ONLINE"
}
/** Physical address */
export interface Address extends AddressStreetOneOf {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
/** country code */
country?: string | null;
/** subdivision (usually state or region) code according to ISO 3166-2 */
subdivision?: string | null;
/** city name */
city?: string | null;
/** zip/postal code */
postalCode?: string | null;
/** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */
addressLine2?: string | null;
/** A string containing the human-readable address of this location */
formattedAddress?: string | null;
/** Free text for human-to-human textual orientation aid purposes */
hint?: string | null;
/** coordinates of the physical address */
geocode?: AddressLocation;
/** country full-name */
countryFullname?: string | null;
/** multi-level subdivisions from top to bottom */
subdivisions?: Subdivision[];
}
/** @oneof */
export interface AddressStreetOneOf {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
}
export interface StreetAddress {
/** street number */
number?: string;
/** street name */
name?: string;
}
export interface AddressLocation {
/** address latitude coordinates */
latitude?: number | null;
/** address longitude coordinates */
longitude?: number | null;
}
export interface Subdivision {
/** subdivision short code */
code?: string;
/** subdivision full-name */
name?: string;
}
export declare enum SubdivisionType {
UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE",
/** State */
ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1",
/** County */
ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2",
/** City/town */
ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3",
/** Neighborhood/quarter */
ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4",
/** Street/block */
ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5",
/** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */
COUNTRY = "COUNTRY"
}
export interface ScheduleConfig {
/**
* Defines event as TBD (To Be Determined) schedule.
* When event time is not yet defined, TBD message is displayed instead of event start and end times.
* `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.
*/
scheduleTbd?: boolean;
/** TBD message. */
scheduleTbdMessage?: string | null;
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether end date is hidden in the formatted schedule. */
endDateHidden?: boolean;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
/** Event recurrences. */
recurrences?: Recurrences;
}
export interface Recurrences {
/** Event occurrences. */
occurrences?: Occurrence[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
/**
* Recurrence status.
* @readonly
*/
status?: Status;
}
export interface Occurrence {
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
}
export declare enum Status {
/** Event occurs only once. */
ONE_TIME = "ONE_TIME",
/** Event is recurring. */
RECURRING = "RECURRING",
/** Marks the next upcoming occurrence of the recurring event. */
RECURRING_NEXT = "RECURRING_NEXT",
/** Marks the most recent ended occurrence of the recurring event. */
RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED",
/** Marks the most recent canceled occurrence of the recurring event. */
RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED"
}
export declare enum EventStatus {
/** Event is public and scheduled to start */
SCHEDULED = "SCHEDULED",
/** Event has started */
STARTED = "STARTED",
/** Event has ended */
ENDED = "ENDED",
/** Event was canceled */
CANCELED = "CANCELED"
}
export interface Empty {
}
export interface EventDeleted {
/** Event deleted timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
}
export interface GetOrCreateRichContentRequest {
/** The event id */
eventId?: string;
/** The field name */
fieldName?: string;
/** HTML content to be converted to RichContent */
content?: string;
}
export interface GetOrCreateRichContentResponse {
/** The RichContent */
richContent?: RichContent;
}
export interface RecreateRichContentRequest {
/** The event id */
eventId?: string;
/** The field name */
fieldName?: string;
/** HTML content to be converted to RichContent */
content?: string;
}
export interface RecreateRichContentResponse {
/** The RichContent */
richContent?: RichContent;
}
export interface CountRichContentItemsRequest {
filter?: Record | null;
}
export interface CountRichContentItemsResponse {
count?: number;
}
export interface UpsertRichContentRequest {
/** Fields to update. */
richContent?: RichContent;
/** FieldMask to be applied to the RichContent. */
fieldMask?: string[];
}
export interface UpsertRichContentResponse {
richContent?: RichContent;
}
export interface DomainEvent extends DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* 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 defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
export interface DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
}
export interface EntityCreatedEvent {
entityAsJson?: string;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo;
}
export interface RestoreInfo {
deletedDate?: Date | null;
}
export 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.
*/
currentEntityAsJson?: string;
}
export interface EntityDeletedEvent {
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
export interface ActionEvent {
bodyAsJson?: string;
}
export interface MessageEnvelope {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
/** Stringify payload. */
data?: string;
}
export interface IdentificationData extends IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType;
}
/** @oneof */
export interface IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
export declare enum WebhookIdentityType {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
interface PluginContainerDataWidthNonNullableFields {
size: WidthType;
}
interface PluginContainerDataNonNullableFields {
width?: PluginContainerDataWidthNonNullableFields;
alignment: PluginContainerDataAlignment;
}
interface LinkNonNullableFields {
url: string;
anchor: string;
target: Target;
}
interface ButtonDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
type: Type;
link?: LinkNonNullableFields;
}
interface TextStyleNonNullableFields {
textAlignment: TextAlignment;
}
interface CodeBlockDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface DividerDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
lineStyle: LineStyle;
width: Width;
alignment: Alignment;
}
interface PDFSettingsNonNullableFields {
viewMode: ViewMode;
}
interface FileDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
pdfSettings?: PDFSettingsNonNullableFields;
}
interface ImageNonNullableFields {
link?: LinkNonNullableFields;
}
interface ItemNonNullableFields {
image?: ImageNonNullableFields;
}
interface LayoutNonNullableFields {
type: LayoutType;
orientation: Orientation;
}
interface ItemStyleNonNullableFields {
crop: Crop;
}
interface ThumbnailsNonNullableFields {
placement: ThumbnailsAlignment;
}
interface GalleryOptionsNonNullableFields {
layout?: LayoutNonNullableFields;
item?: ItemStyleNonNullableFields;
thumbnails?: ThumbnailsNonNullableFields;
}
interface GalleryDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
items: ItemNonNullableFields[];
options?: GalleryOptionsNonNullableFields;
}
interface GIFDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
height: number;
width: number;
gifType: GIFType;
}
interface HeadingDataNonNullableFields {
level: number;
textStyle?: TextStyleNonNullableFields;
}
interface HTMLDataNonNullableFields {
url: string;
html: string;
containerData?: PluginContainerDataNonNullableFields;
source: Source;
}
interface ImageDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
link?: LinkNonNullableFields;
}
interface LinkPreviewDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
link?: LinkNonNullableFields;
}
interface MapSettingsNonNullableFields {
mapType: MapType;
}
interface MapDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
mapSettings?: MapSettingsNonNullableFields;
}
interface ParagraphDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface PermissionsNonNullableFields {
view: ViewRole;
vote: VoteRole;
}
interface SettingsNonNullableFields {
permissions?: PermissionsNonNullableFields;
}
interface PollNonNullableFields {
settings?: SettingsNonNullableFields;
}
interface PollLayoutNonNullableFields {
type: PollLayoutType;
direction: PollLayoutDirection;
}
interface PollDataLayoutNonNullableFields {
poll?: PollLayoutNonNullableFields;
}
interface BackgroundNonNullableFields {
type: BackgroundType;
}
interface PollDesignNonNullableFields {
background?: BackgroundNonNullableFields;
}
interface DesignNonNullableFields {
poll?: PollDesignNonNullableFields;
}
interface PollDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
poll?: PollNonNullableFields;
layout?: PollDataLayoutNonNullableFields;
design?: DesignNonNullableFields;
}
interface AnchorDataNonNullableFields {
anchor: string;
}
interface LinkDataNonNullableFields {
link?: LinkNonNullableFields;
}
interface MentionDataNonNullableFields {
name: string;
slug: string;
}
interface FontSizeDataNonNullableFields {
unit: FontType;
}
interface DecorationNonNullableFields {
anchorData?: AnchorDataNonNullableFields;
linkData?: LinkDataNonNullableFields;
mentionData?: MentionDataNonNullableFields;
fontSizeData?: FontSizeDataNonNullableFields;
type: DecorationType;
}
interface TextDataNonNullableFields {
text: string;
decorations: DecorationNonNullableFields[];
}
interface AppEmbedDataNonNullableFields {
type: AppType;
}
interface VideoDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface EmbedDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface CollapsibleListDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
initialExpandedItems: InitialExpandedItems;
direction: Direction;
}
interface DimensionsNonNullableFields {
colsWidthRatio: number[];
rowsHeight: number[];
colsMinWidth: number[];
}
interface TableDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
dimensions?: DimensionsNonNullableFields;
}
interface CellStyleNonNullableFields {
verticalAlignment: VerticalAlignment;
}
interface TableCellDataNonNullableFields {
cellStyle?: CellStyleNonNullableFields;
}
interface AudioDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface OrderedListDataNonNullableFields {
indentation: number;
}
interface BulletedListDataNonNullableFields {
indentation: number;
}
interface BlockquoteDataNonNullableFields {
indentation: number;
}
interface CaptionDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface NodeNonNullableFields {
buttonData?: ButtonDataNonNullableFields;
codeBlockData?: CodeBlockDataNonNullableFields;
dividerData?: DividerDataNonNullableFields;
fileData?: FileDataNonNullableFields;
galleryData?: GalleryDataNonNullableFields;
gifData?: GIFDataNonNullableFields;
headingData?: HeadingDataNonNullableFields;
htmlData?: HTMLDataNonNullableFields;
imageData?: ImageDataNonNullableFields;
linkPreviewData?: LinkPreviewDataNonNullableFields;
mapData?: MapDataNonNullableFields;
paragraphData?: ParagraphDataNonNullableFields;
pollData?: PollDataNonNullableFields;
textData?: TextDataNonNullableFields;
appEmbedData?: AppEmbedDataNonNullableFields;
videoData?: VideoDataNonNullableFields;
embedData?: EmbedDataNonNullableFields;
collapsibleListData?: CollapsibleListDataNonNullableFields;
tableData?: TableDataNonNullableFields;
tableCellData?: TableCellDataNonNullableFields;
audioData?: AudioDataNonNullableFields;
orderedListData?: OrderedListDataNonNullableFields;
bulletedListData?: BulletedListDataNonNullableFields;
blockquoteData?: BlockquoteDataNonNullableFields;
captionData?: CaptionDataNonNullableFields;
type: NodeType;
id: string;
nodes: NodeNonNullableFields[];
}
interface MetadataNonNullableFields {
version: number;
}
interface TextNodeStyleNonNullableFields {
decorations: DecorationNonNullableFields[];
}
interface DocumentStyleNonNullableFields {
headerOne?: TextNodeStyleNonNullableFields;
headerTwo?: TextNodeStyleNonNullableFields;
headerThree?: TextNodeStyleNonNullableFields;
headerFour?: TextNodeStyleNonNullableFields;
headerFive?: TextNodeStyleNonNullableFields;
headerSix?: TextNodeStyleNonNullableFields;
paragraph?: TextNodeStyleNonNullableFields;
blockquote?: TextNodeStyleNonNullableFields;
codeBlock?: TextNodeStyleNonNullableFields;
}
interface V1RichContentNonNullableFields {
nodes: NodeNonNullableFields[];
metadata?: MetadataNonNullableFields;
documentStyle?: DocumentStyleNonNullableFields;
}
interface RichContentNonNullableFields {
content?: V1RichContentNonNullableFields;
}
export interface CreateRichContentResponseNonNullableFields {
richContent?: RichContentNonNullableFields;
}
export interface GetRichContentResponseNonNullableFields {
richContent?: RichContentNonNullableFields;
}
export interface UpdateRichContentResponseNonNullableFields {
richContent?: RichContentNonNullableFields;
}
export interface QueryRichContentsResponseNonNullableFields {
richContents: RichContentNonNullableFields[];
}
export interface QueryRichContentResponseNonNullableFields {
richContent: RichContentNonNullableFields[];
}
export {};