import { NonNullablePaths } from '@wix/sdk-types';
interface DraftPost {
/**
* Draft post ID.
* @readonly
* @maxLength 38
*/
_id?: string;
/**
* Draft post title.
* @maxLength 200
*/
title?: string;
/**
* Draft post excerpt.
*
* If no excerpt has been manually set, an excerpt is automatically generated from the post's text.
* This can be retrieved using the `GENERATED_EXCERPT` fieldset.
* @maxLength 500
*/
excerpt?: string | null;
/** Whether the draft post is marked as featured. */
featured?: boolean | null;
/**
* Category IDs of the draft post.
* @maxSize 10
* @maxLength 38
*/
categoryIds?: string[];
/**
* Draft post owner's member ID.
* @format GUID
*/
memberId?: string | null;
/**
* Hashtags in the post.
* @maxSize 100
* @maxLength 100
*/
hashtags?: string[];
/** Whether commenting on the draft post is enabled. */
commentingEnabled?: boolean | null;
/**
* Estimated reading time of the draft post (calculated automatically).
* @readonly
*/
minutesToRead?: number;
/** Image placed at the top of the blog page. */
heroImage?: string;
/**
* Tag IDs the draft post is tagged with.
* @maxSize 30
* @maxLength 38
*/
tagIds?: string[];
/**
* IDs of posts related to this draft post.
* @maxSize 3
* @maxLength 38
*/
relatedPostIds?: string[];
/**
* Pricing plan IDs. Only relevant if a post is assigned to a specific pricing plan. See the Pricing Plans API for more info.
* @maxSize 100
* @format GUID
*/
pricingPlanIds?: string[];
/**
* ID of the draft post's translations.
*
* All translations of a single post share the same `translationId`.
* Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.
* @format GUID
*/
translationId?: string | null;
/**
* Language the draft post is written in.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Draft Post rich content.
*
*
* See Ricos document reference
*
*/
richContent?: RichContent;
/**
* Status of the draft post.
* @readonly
*/
status?: StatusWithLiterals;
/** Details of the draft post in review. Only relevant to posts submitted by guest writers. */
moderationDetails?: ModerationDetails;
/**
* Indicates if there are changes made to the draft post that have not yet been published.
* @readonly
*/
hasUnpublishedChanges?: boolean;
/**
* Date the draft post was last edited.
* @readonly
*/
editedDate?: Date | null;
/**
* Date the draft post is scheduled to be published.
* @readonly
*/
scheduledPublishDate?: Date | null;
/** Date the post was first published. */
firstPublishedDate?: Date | null;
/** SEO data. */
seoData?: SeoSchema;
/**
* Draft post URL preview. What the URL will look like once the post is published.
* @readonly
*/
url?: string;
/**
* Date the draft post was first created.
* @readonly
*/
_createdDate?: Date | null;
/**
* SEO slug.
* @maxLength 100
*/
seoSlug?: string | null;
/** Post cover media. */
media?: Media;
/** Number of paragraphs to display in a paid content preview for non-paying users. */
previewTextParagraph?: number | null;
}
interface CoverMedia extends CoverMediaMediaOneOf {
/** Image url. */
image?: string;
/** Video url. */
video?: string;
/**
* Is cover media enabled.
* Selected by user whether to display cover media on the feed
* @deprecated Is cover media enabled.
* Selected by user whether to display cover media on the feed
* @replacedBy displayed
* @targetRemovalDate 2024-06-30
*/
enabled?: boolean;
/** Whether cover media is displayed. */
displayed?: boolean;
/** Whether cover media is custom. If `false` the cover image is set to the first media item that appears in the content. */
custom?: boolean;
/**
* Alternative text is a short phrase that describes what the image depicts.
*
* The alternative text is used:
* + If the browser cannot display the image.
* + If the user is utilizing a screen reader.
* + By search engines to understand what images are on a site.
* @minLength 1
* @maxLength 1000
*/
altText?: string | null;
}
/** @oneof */
interface CoverMediaMediaOneOf {
/** Image url. */
image?: string;
/** Video url. */
video?: string;
}
interface FocalPoint {
/** X-coordinate of the focal point. */
x?: number;
/** Y-coordinate of the focal point. */
y?: number;
/** crop by height */
height?: number | null;
/** crop by width */
width?: number | null;
}
declare enum Origin {
UNKNOWN = "UNKNOWN",
/** Changed by admin */
ADMIN = "ADMIN",
/** Categories were changed */
ADD_CATEGORIES = "ADD_CATEGORIES",
/** Saved automatically */
AUTO_SAVE = "AUTO_SAVE",
/** Copied from template */
COPY_TEMPLATE = "COPY_TEMPLATE",
/** Imported */
IMPORT = "IMPORT",
/** Imported in bulk */
IMPORT_BULK = "IMPORT_BULK",
/** Imported with html import */
IMPORT_HTML = "IMPORT_HTML",
/** Patch import */
IMPORT_PATCH = "IMPORT_PATCH",
/** Changed language */
LANGUAGE_CHANGE = "LANGUAGE_CHANGE",
/** Saved manually */
MANUAL_SAVE = "MANUAL_SAVE",
/** Affected by migration */
MIGRATION = "MIGRATION",
/** Affected by moderation */
MODERATION = "MODERATION",
/** Moved to trash */
MOVE_TO_TRASH = "MOVE_TO_TRASH",
/** Pricing plans were changed */
PRICING_PLANS_CHANGE = "PRICING_PLANS_CHANGE",
/** Was provisioned */
PROVISION = "PROVISION",
/** Was published */
PUBLISH = "PUBLISH",
/** Owner was reassigned */
REASSIGN_OWNER = "REASSIGN_OWNER",
/** Was reblogged */
REBLOG = "REBLOG",
/** Was restored */
RESTORE = "RESTORE",
/** Reverted to draft */
REVERT_TO_DRAFT = "REVERT_TO_DRAFT",
/** Was translated */
TRANSLATION = "TRANSLATION",
/** Was unpublished */
UNPUBLISH = "UNPUBLISH",
/** Was unscheduled */
UNSCHEDULE = "UNSCHEDULE",
/** New edit session started which updated editing_session_id id */
NEW_EDIT_SESSION = "NEW_EDIT_SESSION",
/** Was scheduled by Later */
SCHEDULING_SERVICE_SCHEDULE = "SCHEDULING_SERVICE_SCHEDULE",
/** Was unscheduled by Later */
SCHEDULING_SERVICE_UNSCHEDULE = "SCHEDULING_SERVICE_UNSCHEDULE",
/** Was published by Later */
SCHEDULING_SERVICE_PUBLISH = "SCHEDULING_SERVICE_PUBLISH",
/** Was scheduled */
SCHEDULE = "SCHEDULE",
/** Was removed from moderation */
REMOVE_FROM_MODERATION = "REMOVE_FROM_MODERATION",
/** Was rejected from moderation */
REJECT_FROM_MODERATION = "REJECT_FROM_MODERATION",
/** Was approved in moderation */
APPROVE_IN_MODERATION = "APPROVE_IN_MODERATION",
/** Tag was deleted */
DELETE_TAG = "DELETE_TAG",
/** Post was pinned */
PIN = "PIN",
/** Post was unpinned */
UNPIN = "UNPIN",
/** Saved automatically by AI tool. */
AI_AUTO_SAVE = "AI_AUTO_SAVE"
}
/** @enumType */
type OriginWithLiterals = Origin | 'UNKNOWN' | 'ADMIN' | 'ADD_CATEGORIES' | 'AUTO_SAVE' | 'COPY_TEMPLATE' | 'IMPORT' | 'IMPORT_BULK' | 'IMPORT_HTML' | 'IMPORT_PATCH' | 'LANGUAGE_CHANGE' | 'MANUAL_SAVE' | 'MIGRATION' | 'MODERATION' | 'MOVE_TO_TRASH' | 'PRICING_PLANS_CHANGE' | 'PROVISION' | 'PUBLISH' | 'REASSIGN_OWNER' | 'REBLOG' | 'RESTORE' | 'REVERT_TO_DRAFT' | 'TRANSLATION' | 'UNPUBLISH' | 'UNSCHEDULE' | 'NEW_EDIT_SESSION' | 'SCHEDULING_SERVICE_SCHEDULE' | 'SCHEDULING_SERVICE_UNSCHEDULE' | 'SCHEDULING_SERVICE_PUBLISH' | 'SCHEDULE' | 'REMOVE_FROM_MODERATION' | 'REJECT_FROM_MODERATION' | 'APPROVE_IN_MODERATION' | 'DELETE_TAG' | 'PIN' | 'UNPIN' | 'AI_AUTO_SAVE';
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;
/** 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?: 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;
/** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
layoutCellData?: LayoutCellData;
}
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"
}
/** @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';
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;
}
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;
}
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.
* @format COLOR_HEX
*/
borderColor?: string | null;
/**
* Border color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
borderColorHover?: string | null;
/**
* Text color as a hexadecimal value.
* @format COLOR_HEX
*/
textColor?: string | null;
/**
* Text color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
textColorHover?: string | null;
/**
* Background color as a hexadecimal value.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Background color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
backgroundColorHover?: string | null;
/** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */
buttonSize?: string | null;
}
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 CodeBlockData {
/** Styling for the code block's text. */
textStyle?: TextStyle;
}
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;
}
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 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;
}
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;
}
interface V1Media {
/** 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?: V1Media;
/** Link details for images that are links. */
link?: Link;
}
interface Video {
/** Video file details. */
media?: V1Media;
/** Video thumbnail file details. */
thumbnail?: V1Media;
}
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;
}
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;
}
interface HTMLData extends HTMLDataDataOneOf {
/** The URL for the HTML code for the node. */
url?: string;
/** The HTML code for the node. */
html?: string;
/**
* Whether this is an AdSense element. Use `source` instead.
* @deprecated
*/
isAdsense?: boolean | null;
/** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */
containerData?: PluginContainerData;
/** The type of HTML code. */
source?: SourceWithLiterals;
/** If container height is aligned with its content height. Defaults to `true`. */
autoHeight?: boolean | null;
}
/** @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;
}
declare enum Source {
HTML = "HTML",
ADSENSE = "ADSENSE"
}
/** @enumType */
type SourceWithLiterals = Source | 'HTML' | 'ADSENSE';
interface ImageData {
/** Styling for the image's container. */
containerData?: PluginContainerData;
/** Image file details. */
image?: V1Media;
/** 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;
}
interface StylesBorder {
/** Border width in pixels. */
width?: number | null;
/**
* Border color as a hexadecimal value.
* @format COLOR_HEX
*/
color?: string | null;
/** Border radius in pixels. */
radius?: number | null;
}
interface ImageDataStyles {
/** Border attributes. */
border?: StylesBorder;
}
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;
}
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.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Title color as a hexadecimal value.
* @format COLOR_HEX
*/
titleColor?: string | null;
/**
* Subtitle color as a hexadecimal value.
* @format COLOR_HEX
*/
subtitleColor?: string | null;
/**
* Link color as a hexadecimal value.
* @format COLOR_HEX
*/
linkColor?: string | null;
/** Border width in pixels. */
borderWidth?: number | null;
/** Border radius in pixels. */
borderRadius?: number | null;
/**
* Border color as a hexadecimal value.
* @format COLOR_HEX
*/
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;
}
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;
}
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?: V1Media;
}
interface PollSettings {
/** 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 BackgroundType {
/** Color background type */
COLOR = "COLOR",
/** Image background type */
IMAGE = "IMAGE",
/** Gradiant background type */
GRADIENT = "GRADIENT"
}
/** @enumType */
type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'IMAGE' | 'GRADIENT';
interface Gradient {
/** The gradient angle in degrees. */
angle?: number | null;
/**
* The start color as a hexademical value.
* @format COLOR_HEX
*/
startColor?: string | null;
/**
* The end color as a hexademical value.
* @format COLOR_HEX
*/
lastColor?: string | null;
}
interface Background extends BackgroundBackgroundOneOf {
/**
* The background color as a hexademical value.
* @format COLOR_HEX
*/
color?: string | null;
/** An image to use for the background. */
image?: V1Media;
/** Details for a gradient background. */
gradient?: Gradient;
/** Background type. For each option, include the relevant details. */
type?: BackgroundTypeWithLiterals;
}
/** @oneof */
interface BackgroundBackgroundOneOf {
/**
* The background color as a hexademical value.
* @format COLOR_HEX
*/
color?: string | null;
/** An image to use for the background. */
image?: V1Media;
/** Details for a gradient background. */
gradient?: Gradient;
}
interface PollDesign {
/** Background styling. */
background?: Background;
/** 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?: V1Media;
/** Voting options. */
options?: Option[];
/** The poll's permissions and display settings. */
settings?: PollSettings;
}
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;
/** 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;
}
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"
}
/** @enumType */
type DecorationTypeWithLiterals = DecorationType | 'BOLD' | 'ITALIC' | 'UNDERLINE' | 'SPOILER' | 'ANCHOR' | 'MENTION' | 'LINK' | 'COLOR' | 'FONT_SIZE' | 'EXTERNAL' | 'STRIKETHROUGH' | 'SUPERSCRIPT' | 'SUBSCRIPT';
interface AnchorData {
/** The target node's ID. */
anchor?: string;
}
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;
}
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;
}
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 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?: V1Media;
/** 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;
}
/** @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.
* @format COLOR_HEX
*/
borderColor?: string | null;
/**
* Text color as a hexadecimal value.
* @format COLOR_HEX
*/
textColor?: string | null;
/**
* Background color as a hexadecimal value.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Border color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
borderColorHover?: string | null;
/**
* Text color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
textColorHover?: string | null;
/**
* Background color as a hexadecimal value (hover state).
* @format COLOR_HEX
*/
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.
* @format COLOR_HEX
*/
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.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Ribbon text color as a hexadecimal value.
* @format COLOR_HEX
*/
textColor?: string | null;
/**
* Ribbon border color as a hexadecimal value.
* @format COLOR_HEX
*/
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.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Card border color as a hexadecimal value.
* @format COLOR_HEX
*/
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.
* @format COLOR_HEX
*/
titleColor?: string | null;
/**
* Text color as a hexadecimal value.
* @format COLOR_HEX
*/
textColor?: string | null;
}
interface VideoData {
/** Styling for the video's container. */
containerData?: PluginContainerData;
/** Video details. */
video?: V1Media;
/** Video thumbnail details. */
thumbnail?: V1Media;
/** Sets whether the video's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Video title. */
title?: string | null;
/** Video options. */
options?: PlaybackOptions;
}
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;
}
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;
}
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;
}
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;
}
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.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
}
interface BorderColors {
/**
* Left border color as a hexadecimal value.
* @format COLOR_HEX
*/
left?: string | null;
/**
* Right border color as a hexadecimal value.
* @format COLOR_HEX
*/
right?: string | null;
/**
* Top border color as a hexadecimal value.
* @format COLOR_HEX
*/
top?: string | null;
/**
* Bottom border color as a hexadecimal value.
* @format COLOR_HEX
*/
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`.
*/
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?: V1Media;
/** Sets whether the audio node's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Cover image. */
coverImage?: V1Media;
/** Track name. */
name?: string | null;
/** Author name. */
authorName?: string | null;
/** An HTML version of the audio node. */
html?: string | null;
}
interface OrderedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
/** List start number. */
start?: number | null;
}
interface BulletedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
}
interface BlockquoteData {
/** Indentation level from 1-4. */
indentation?: number;
}
interface CaptionData {
textStyle?: TextStyle;
}
interface LayoutCellData {
/** Size of the cell in 12 columns grid. */
colSpan?: 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;
}
declare enum Status {
UNKNOWN = "UNKNOWN",
/** Status indicating the draft post is published. */
PUBLISHED = "PUBLISHED",
/** Status indicating the draft post is unpublished. */
UNPUBLISHED = "UNPUBLISHED",
/** Status indicating the draft post is scheduled for publication. */
SCHEDULED = "SCHEDULED",
/** Status indicating the draft post is deleted. */
DELETED = "DELETED",
/** Status indicating the draft post is in review. */
IN_REVIEW = "IN_REVIEW"
}
/** @enumType */
type StatusWithLiterals = Status | 'UNKNOWN' | 'PUBLISHED' | 'UNPUBLISHED' | 'SCHEDULED' | 'DELETED' | 'IN_REVIEW';
interface ModerationDetails {
/**
* Member ID of the person submitting the draft post for review.
* @format GUID
*/
submittedBy?: string;
/** Date the post was submitted for review. */
submittedDate?: Date | null;
/** Status indicating whether the submission was approved or rejected by the moderator. */
status?: ModerationStatusStatusWithLiterals;
/**
* Member ID of the person who approved or rejected the post.
* @format GUID
*/
moderatedBy?: string | null;
/** Date the post was approved or rejected. */
moderationDate?: Date | null;
}
declare enum ModerationStatusStatus {
UNKNOWN = "UNKNOWN",
APPROVED = "APPROVED",
REJECTED = "REJECTED"
}
/** @enumType */
type ModerationStatusStatusWithLiterals = ModerationStatusStatus | 'UNKNOWN' | 'APPROVED' | 'REJECTED';
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself.
*/
interface SeoSchema {
/** SEO tag information. */
tags?: Tag[];
/** SEO general settings. */
settings?: Settings;
}
interface Keyword {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
/**
* The source that added the keyword terms to the SEO settings.
* @maxLength 1000
*/
origin?: string | null;
}
interface Tag {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
* For example: `{"name": "description", "content": "the description itself"}`.
*/
props?: Record | null;
/** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
meta?: Record | null;
/** SEO tag inner content. For example, ` inner content `. */
children?: string;
/** Whether the tag is a custom tag. */
custom?: boolean;
/** Whether the tag is disabled. */
disabled?: boolean;
}
interface Settings {
/**
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
*
*
* Default: `false` (Auto Redirect is enabled.)
*/
preventAutoRedirect?: boolean;
/**
* User-selected keyword terms for a specific page.
* @maxSize 5
*/
keywords?: Keyword[];
}
interface Media extends MediaMediaOneOf {
/** Wix Media details. */
wixMedia?: WixMedia;
/** Embed media details. */
embedMedia?: EmbedMedia;
/** Whether cover media is displayed. */
displayed?: boolean;
/** Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media. */
custom?: boolean;
/**
* Media alternative text.
* @minLength 1
* @maxLength 1000
*/
altText?: string | null;
}
/** @oneof */
interface MediaMediaOneOf {
/** Wix Media details. */
wixMedia?: WixMedia;
/** Embed media details. */
embedMedia?: EmbedMedia;
}
interface WixMedia {
/** Image details. */
image?: string;
/** Video details. */
videoV2?: string;
}
interface VideoResolution {
/** Video URL. */
url?: string;
/** Video height. */
height?: number;
/** Video width. */
width?: number;
/** Video format for example, mp4, hls. */
format?: string;
}
interface EmbedMedia {
/** Thumbnail details. */
thumbnail?: EmbedThumbnail;
/** Video details. */
video?: EmbedVideo;
}
interface EmbedThumbnail {
/**
* Thumbnail url.
* @maxLength 2000
*/
url?: string;
/** Thumbnail width. */
width?: number;
/** Thumbnail height. */
height?: number;
}
interface EmbedVideo {
/**
* Video url.
* @maxLength 2000
*/
url?: string;
/** Video width. */
width?: number;
/** Video height. */
height?: number;
}
interface DraftPostTranslation {
/**
* Post ID.
* @format GUID
*/
_id?: string;
/** Post status. */
status?: StatusWithLiterals;
/**
* Language the post is written in.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Post slug. For example, 'post-slug'.
* @maxLength 100
*/
slug?: string | null;
/** SEO data. */
seoData?: SeoSchema;
/** Post URL. */
url?: string;
}
interface DraftCategoriesUpdated {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId?: string;
/**
* Current categories of the draft.
* @maxSize 10
* @format GUID
*/
categories?: string[];
/**
* Previous categories of the draft.
* @maxSize 10
* @format GUID
*/
previousCategories?: string[];
}
interface DraftTagsUpdated {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId?: string;
/**
* Current tags of the draft.
* @maxSize 30
* @format GUID
*/
tags?: string[];
/**
* Previous tags of the draft.
* @maxSize 30
* @format GUID
*/
previousTags?: string[];
}
interface GetDraftPostTotalsRequest {
/**
* Group results by fields (defaults to grouping by status).
* If, for example, grouping by language is passed, language values in response will be filled.
* If, for example, grouping by language is not passed, null values will be filled in language field in response.
* @maxSize 10
*/
groupBy?: TotalDraftPostsGroupingFieldWithLiterals[];
/**
* Optional language filter by provided language code. Useful in multilingual context.
* @format LANGUAGE_TAG
*/
language?: string | null;
}
declare enum TotalDraftPostsGroupingField {
/** Groups results by status. */
STATUS = "STATUS",
/** Groups results by language. */
LANGUAGE = "LANGUAGE"
}
/** @enumType */
type TotalDraftPostsGroupingFieldWithLiterals = TotalDraftPostsGroupingField | 'STATUS' | 'LANGUAGE';
interface GetDraftPostTotalsResponse {
/** Draft post totals. */
totalDraftPosts?: TotalDraftPosts[];
}
interface TotalDraftPosts {
/** Draft post totals in that group. */
total?: number;
/** Draft post status (only has value when grouping by status, otherwise null). */
status?: StatusWithLiterals;
/**
* Draft post language code (only has value when grouping by language, otherwise null).
* @format LANGUAGE_TAG
*/
language?: string | null;
}
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 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;
}
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 InitialDraftPostsCopied {
/** Number of draft posts copied. */
count?: number;
}
interface CreateDraftPostRequest {
/** Draft post to create. */
draftPost: DraftPost;
/**
* Whether the draft post should be published on creation.
*
* Default: `false`
*/
publish?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
declare enum Type {
UNKNOWN = "UNKNOWN",
/** Manually saved. */
MANUAL = "MANUAL",
/** Triggered by autosave. */
AUTO_SAVE = "AUTO_SAVE",
/** Copied from template during provisioning flow. */
PROVISIONING = "PROVISIONING",
/** Imported from another blog. */
IMPORT = "IMPORT",
/** Triggered by autosave when post created by AI tool. */
AI_AUTO_SAVE = "AI_AUTO_SAVE"
}
/** @enumType */
type TypeWithLiterals = Type | 'UNKNOWN' | 'MANUAL' | 'AUTO_SAVE' | 'PROVISIONING' | 'IMPORT' | 'AI_AUTO_SAVE';
declare enum Field {
/** Unknown field. */
UNKNOWN = "UNKNOWN",
/** Includes draft post preview URL. */
URL = "URL",
/** Includes content field. */
CONTENT = "CONTENT",
/** Includes rich content field. */
RICH_CONTENT = "RICH_CONTENT",
/** If the user has not set excerpt, returns the one autogenerated from content. */
GENERATED_EXCERPT = "GENERATED_EXCERPT"
}
/** @enumType */
type FieldWithLiterals = Field | 'UNKNOWN' | 'URL' | 'CONTENT' | 'RICH_CONTENT' | 'GENERATED_EXCERPT';
interface CreateDraftPostResponse {
/** Created draft post info. */
draftPost?: DraftPost;
}
interface BulkCreateDraftPostsRequest {
/**
* Draft posts to create.
* @minSize 1
* @maxSize 20
*/
draftPosts: DraftPost[];
/** Whether the draft post should be published after creation. */
publish?: boolean;
/** Whether to return the full created draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of draft post fields to be included in the response if the entities are present.
* Base default fieldset returns all core draft post properties (all properties that are not a supported fieldset value).
* For example, when `URL` fieldset is selected, returned draft post will include the set of base properties and the draft post's preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface BulkCreateDraftPostsResponse {
/** Draft posts created by bulk action. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface BulkDraftPostResult {
/** Bulk actions metadata for draft post. */
itemMetadata?: ItemMetadata;
/** Optional full draft post. */
item?: DraftPost;
}
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 BulkUpdateDraftPostsRequest {
/**
* Draft posts to update.
* @minSize 1
* @maxSize 20
*/
draftPosts?: MaskedDraftPosts[];
/**
* Action to perform on the posts.
*
* Default: `UPDATE`
*/
action?: ActionWithLiterals;
/** Posts' scheduled publish date when `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/** Whether to return the full updated draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface MaskedDraftPosts {
/** Draft post */
draftPost?: DraftPost;
/** Field mask of fields to update. */
fieldMask?: string[];
}
declare enum Action {
/** Update the draft post. */
UPDATE = "UPDATE",
/** Update and publish a draft post. */
UPDATE_PUBLISH = "UPDATE_PUBLISH",
/** Update the draft post and schedule a publish date. */
UPDATE_SCHEDULE = "UPDATE_SCHEDULE",
/** Update the post and revert it to draft. */
UPDATE_REVERT_TO_DRAFT = "UPDATE_REVERT_TO_DRAFT",
/** Update the draft post and cancel the scheduled publish date. */
UPDATE_CANCEL_SCHEDULE = "UPDATE_CANCEL_SCHEDULE",
/** Update and reject draft post. */
UPDATE_REJECT = "UPDATE_REJECT",
/** Update a post that's already been published. This creates and updates a draft version of the post. The original post is still published. */
UPDATE_PUBLICATION = "UPDATE_PUBLICATION"
}
/** @enumType */
type ActionWithLiterals = Action | 'UPDATE' | 'UPDATE_PUBLISH' | 'UPDATE_SCHEDULE' | 'UPDATE_REVERT_TO_DRAFT' | 'UPDATE_CANCEL_SCHEDULE' | 'UPDATE_REJECT' | 'UPDATE_PUBLICATION';
interface BulkUpdateDraftPostsResponse {
/** Draft posts updated by bulk action. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface DraftPostOwnerChanged {
}
interface ListDeletedDraftPostsRequest {
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, deleted draft posts in all languages are returned.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Sorting options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSortWithLiterals;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
/**
* Draft post ids.
* @maxSize 100
* @format GUID
*/
draftPostIds?: string[];
}
declare enum GetDraftPostsSort {
/** Sort by `editedDate` in descending order. */
EDITING_DATE_DESC = "EDITING_DATE_DESC",
/** Sort by `editedDate` in ascending order. */
EDITING_DATE_ASC = "EDITING_DATE_ASC"
}
/** @enumType */
type GetDraftPostsSortWithLiterals = GetDraftPostsSort | 'EDITING_DATE_DESC' | 'EDITING_DATE_ASC';
interface BlogPaging {
/**
* Number of items to skip in the current sort order.
*
*
* Default: `0`
*/
offset?: number;
/**
* Number of items to return.
*
*
* Default:`50`
* @min 1
* @max 100
*/
limit?: number;
/**
* Pointer to the next or previous page in the list of results.
* @maxLength 2000
*/
cursor?: string | null;
}
interface ListDeletedDraftPostsResponse {
/** List of draft posts. */
draftPosts?: DraftPost[];
/**
* __Deprecated.__ Use `pagingMetadata` instead.
* This property will be removed on June 30, 2025.
*
* Details on the paged set of results returned.
* @deprecated __Deprecated.__ Use `pagingMetadata` instead.
* This property will be removed on June 30, 2025.
*
* Details on the paged set of results returned.
* @replacedBy pagingMetadata
* @targetRemovalDate 2025-06-30
*/
metaData?: MetaData;
/** Details on the paged set of results returned. */
pagingMetadata?: PagingMetadataV2;
}
interface MetaData {
/** Number of items returned in this response. */
count?: number;
/** Requested offset. */
offset?: number;
/** Total number of items that match the query. */
total?: number;
/**
* Pointer to the next or previous page in the list of results.
* @maxLength 2000
*/
cursor?: string | null;
}
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;
}
interface Cursors {
/**
* Cursor pointing to next page in the list of results.
* @maxLength 2000
*/
next?: string | null;
/**
* Cursor pointing to previous page in the list of results.
* @maxLength 2000
*/
prev?: string | null;
}
interface GetDraftPostRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface GetDraftPostResponse {
/** Draft post info. */
draftPost?: DraftPost;
}
interface UpdateDraftPostContentRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId?: string;
/** Change origin. */
changeOrigin?: OriginWithLiterals;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
/** Draft Post rich content. */
richContent?: RichContent;
}
interface UpdateDraftPostContentResponse {
/** Updated draft post info. */
draftPost?: DraftPost;
}
interface UpdateDraftPostRequest {
/** Draft post to update. */
draftPost: DraftPost;
/**
* Action to perform on the post.
*
* Default: `UPDATE`
*/
action?: ActionWithLiterals;
/** Post publish schedule date if `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface UpdateDraftPostResponse {
/** Updated draft post info. */
draftPost?: DraftPost;
}
interface DeleteDraftPostRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
/**
* Whether to bypass the trash bin and delete the post permanently.
*
* Default: `false`
*/
permanent?: boolean;
}
interface DeleteDraftPostResponse {
}
interface RemoveFromTrashBinRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
}
interface RemoveFromTrashBinResponse {
}
interface BulkDeleteDraftPostsRequest {
/**
* Post IDs.
* @minSize 1
* @maxSize 100
* @maxLength 38
*/
postIds: string[];
/** Should delete bypassing the trash-bin. */
permanent?: boolean;
}
interface BulkDeleteDraftPostsResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface ListDraftPostsRequest {
/**
* Draft post status filter.
*
* If omitted, draft posts with all statuses are returned.
*/
status?: StatusWithLiterals;
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, draft posts in all languages are returned.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Sort options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSortWithLiterals;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface ListDraftPostsResponse {
/** List of draft posts. */
draftPosts?: DraftPost[];
/** Details on the paged set of results returned. */
metaData?: MetaData;
}
interface GetDeletedDraftPostRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
}
interface GetDeletedDraftPostResponse {
/** Draft post info. */
draftPost?: DraftPost;
}
interface RestoreFromTrashBinRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
}
interface RestoreFromTrashBinResponse {
/** Restored draft post info. */
draftPost?: DraftPost;
}
interface QueryDraftPostsRequest {
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
/** Query options. */
query?: PlatformQuery;
}
interface Sorting {
/**
* Name of the field to sort by.
* @maxLength 512
*/
fieldName?: string;
/** Sort order. */
order?: SortOrderWithLiterals;
}
declare enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
/** @enumType */
type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
interface PlatformQuery extends PlatformQueryPagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: Record | null;
/**
* Sort object in the following format:
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
* @maxSize 3
*/
sort?: Sorting[];
}
/** @oneof */
interface PlatformQueryPagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
}
interface Paging {
/**
* Number of items to load.
* @max 100
*/
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface CursorPaging {
/**
* Number of items to load.
* @max 100
*/
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
*
* You can get the relevant cursor token
* from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
* @maxLength 2000
*/
cursor?: string | null;
}
interface QueryDraftPostsResponse {
/** List of posts. */
draftPosts?: DraftPost[];
/** Details on the paged set of results returned. */
pagingMetadata?: PagingMetadataV2;
}
interface PublishDraftPostRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId: string;
}
interface PublishDraftPostResponse {
/**
* Published post ID.
* @format GUID
*/
postId?: string;
}
interface UnpublishPostRequest {
/**
* Draft post ID.
* @maxLength 38
*/
draftPostId?: string;
}
interface UnpublishPostResponse {
}
interface TranslateCategoryRequest {
/**
* Source category ID
* @format GUID
*/
categoryId?: string;
/**
* Translation language
* @format LANGUAGE_TAG
*/
language?: string;
}
interface TranslateCategoryResponse {
/** Translated category */
category?: Category;
/** Other translations of returned category */
translations?: CategoryTranslation[];
}
interface Category {
/**
* Category ID.
* @immutable
* @maxLength 38
*/
_id?: string;
/**
* Category label. Displayed in the Category Menu.
* @maxLength 35
*/
label?: string;
/**
* Number of posts in the category.
* @readonly
*/
postCount?: number;
/**
* The `url` of the page that lists every post with the specified category.
* @readonly
*/
url?: string;
/**
* Category description.
* @maxLength 500
*/
description?: string | null;
/**
* Category title.
* @maxLength 200
* @deprecated Category title.
* @targetRemovalDate 2025-07-16
*/
title?: string;
/**
* Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).
* Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.
*
* Default: `-1`
*/
displayPosition?: number | null;
/**
* ID of the category's translations. All translations of a single category share the same `translationId`.
* @format GUID
*/
translationId?: string | null;
/**
* Category language.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* @immutable
*/
language?: string | null;
/**
* Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`.
* @maxLength 100
*/
slug?: string;
/** SEO data. */
seoData?: SeoSchema;
/** Category cover image. */
coverImage?: string;
/**
* Date and time the Category was last updated.
* @readonly
*/
_updatedDate?: Date | null;
}
interface CategoryTranslation {
/**
* Category ID.
* @format GUID
*/
_id?: string;
/**
* Label displayed in the categories menu on the site.
* @maxLength 100
*/
label?: string | null;
/**
* Language of the category.
* @format LANGUAGE_TAG
*/
language?: string | null;
/** URL of this category page. */
url?: string;
}
interface TranslateDraftRequest {
/**
* Source post or draft ID
* @format GUID
*/
postId?: string;
/**
* Translation language
* @format LANGUAGE_TAG
*/
language?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface TranslateDraftResponse {
/** Draft post. */
draftPost?: DraftPost;
}
interface IsDraftPostAutoTranslatableRequest {
/**
* Source post or draft ID.
* @format GUID
*/
draftPostId?: string;
}
interface IsDraftPostAutoTranslatableResponse {
/**
* Source draft post ID.
* @format GUID
*/
draftPostId?: string;
/** Indicates if enough machine translation credits are available for the draft post translation. */
translatable?: boolean;
/** Draft post title word count. */
titleWordCount?: number;
/** Draft post content word count. */
contentWordCount?: number;
/** Word credits available for auto translation. */
availableAutoTranslateWords?: number;
/** Word credits available after auto translation would be done. */
availableAutoTranslateWordsAfter?: number;
/** Content text character count. */
contentTextCharacterCount?: number;
}
interface UpdateDraftPostLanguageRequest {
/**
* Source draft post ID
* @format GUID
*/
postId?: string;
/**
* New language to replace to
* @minLength 2
* @format LANGUAGE_TAG
*/
language?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface UpdateDraftPostLanguageResponse {
/** Draft post */
draftPost?: DraftPost;
}
interface BulkUpdateDraftPostLanguageRequest {
/**
* Source post or draft IDs
* @maxSize 50
* @format GUID
*/
ids?: string[];
/**
* New language to replace to
* @format LANGUAGE_TAG
*/
language?: string;
/** Should full draft post be returned */
returnFullEntity?: boolean;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface BulkUpdateDraftPostLanguageResponse {
/** Bulk action results */
results?: BulkDraftPostResult[];
/** Bulk action metadata */
bulkActionMetadata?: BulkActionMetadata;
}
interface GetPostAmountsByLanguageRequest {
/**
* Post status to filter by
* @maxLength 100
*/
status?: string;
}
interface GetPostAmountsByLanguageResponse {
/** Post amounts by language */
postAmountsByLanguage?: PostAmountByLanguage[];
}
interface PostAmountByLanguage {
/**
* Post language code
* @format LANGUAGE_TAG
*/
languageCode?: string;
/**
* Language flag
* @format LANGUAGE_TAG
*/
flag?: string;
/** Post amount in that language */
postAmount?: number;
}
interface BulkRevertToUnpublishedRequest {
/**
* Source post IDs.
* @minSize 1
* @maxSize 100
* @format GUID
*/
postIds?: string[];
/** Should full draft post be returned. */
returnFullEntity?: boolean;
}
interface BulkRevertToUnpublishedResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface BulkRejectDraftPostRequest {
/**
* Source post IDs.
* @minSize 1
* @maxSize 100
* @format GUID
*/
postIds?: string[];
/** Should full draft post be returned. */
returnFullEntity?: boolean;
}
interface BulkRejectDraftPostResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface RevertToUnpublishedRequest {
/**
* Source post ID.
* @format GUID
*/
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface RevertToUnpublishedResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
interface RejectDraftPostRequest {
/**
* Source post ID.
* @format GUID
*/
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface RejectDraftPostResponse {
/** Draft post. */
draftPost?: DraftPost;
}
interface ApproveDraftPostRequest {
/**
* Source post ID.
* @format GUID
*/
postId?: string;
/**
* Scheduled publish date if should be not immediately published.
* @maxLength 24
*/
scheduledPublishDate?: string | null;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface ApproveDraftPostResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
interface MarkPostAsInModerationRequest {
/**
* Source post ID.
* @maxLength 38
*/
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
interface MarkPostAsInModerationResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
interface BaseEventMetadata {
/**
* App instance ID.
* @format GUID
*/
instanceId?: string | null;
/**
* Event type.
* @maxLength 150
*/
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
}
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;
}
interface DraftCreatedEnvelope {
entity: DraftPost;
metadata: EventMetadata;
}
/**
* Triggered when a draft post is created.
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionScope Read Blog
* @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionId BLOG.READ_ANY_DRAFT
* @permissionId BLOG.READ-PUBLICATION
* @webhook
* @eventType wix.blog.v3.draft_created
* @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.DraftPostService
* @slug created
*/
declare function onDraftCreated(handler: (event: DraftCreatedEnvelope) => void | Promise): void;
interface DraftDeletedEnvelope {
entity: DraftPost;
metadata: EventMetadata;
}
/**
* Triggered when a draft post is deleted.
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionScope Read Blog
* @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionId BLOG.READ_ANY_DRAFT
* @permissionId BLOG.READ-PUBLICATION
* @webhook
* @eventType wix.blog.v3.draft_deleted
* @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.DraftPostService
* @slug deleted
*/
declare function onDraftDeleted(handler: (event: DraftDeletedEnvelope) => void | Promise): void;
interface DraftUpdatedEnvelope {
entity: DraftPost;
metadata: EventMetadata;
}
/**
* Triggered when a draft post is updated.
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionScope Read Blog
* @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG
* @permissionScope Manage Blog
* @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
* @permissionScope Read Draft Blog Posts
* @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS
* @permissionId BLOG.READ_ANY_DRAFT
* @permissionId BLOG.READ-PUBLICATION
* @webhook
* @eventType wix.blog.v3.draft_updated
* @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.DraftPostService
* @slug updated
*/
declare function onDraftUpdated(handler: (event: DraftUpdatedEnvelope) => void | Promise): void;
type DraftNonNullablePaths = `_id` | `title` | `categoryIds` | `hashtags` | `minutesToRead` | `tagIds` | `relatedPostIds` | `pricingPlanIds` | `status` | `moderationDetails.submittedBy` | `moderationDetails.status` | `hasUnpublishedChanges` | `seoData.tags` | `seoData.tags.${number}.type` | `seoData.tags.${number}.children` | `seoData.tags.${number}.custom` | `seoData.tags.${number}.disabled` | `seoData.settings.preventAutoRedirect` | `seoData.settings.keywords` | `seoData.settings.keywords.${number}.term` | `seoData.settings.keywords.${number}.isMain` | `media.embedMedia.thumbnail.url` | `media.embedMedia.thumbnail.width` | `media.embedMedia.thumbnail.height` | `media.embedMedia.video.url` | `media.embedMedia.video.width` | `media.embedMedia.video.height` | `media.displayed` | `media.custom`;
/**
* Creates a draft post.
*
* For 3rd-party apps, `memberId` is a required field.
*
* In `categoryIds`, only categories that already exist will be added to the draft post. Including
* `categoryIds` that do not exist will not return an error, but they will not be added to the `categoryIds` array.
* If some of the categories exist, those will be added while those that do not exist will not be added to `categoryIds`.
* You can check which categories are available with
* List Categories ([SDK](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/list-categories) | [REST](https://dev.wix.com/docs/rest/business-solutions/blog/category/list-categories)).
* @param draftPost - Draft post to create.
* @public
* @requiredField draftPost
* @requiredField draftPost.title
* @param options - Options for creating a draft post.
* @permissionId BLOG.CREATE-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.CreateDraftPost
*/
declare function createDraftPost(draftPost: NonNullablePaths, options?: CreateDraftPostOptions): Promise>;
interface CreateDraftPostOptions {
/**
* Whether the draft post should be published on creation.
*
* Default: `false`
*/
publish?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Creates multiple draft posts.
* @param draftPosts - Draft posts to create.
* @public
* @requiredField draftPosts
* @requiredField draftPosts.title
* @param options - Options for creating multiple draft posts.
* @permissionId BLOG.CREATE-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.BulkCreateDraftPosts
*/
declare function bulkCreateDraftPosts(draftPosts: NonNullablePaths[], options?: BulkCreateDraftPostsOptions): Promise>;
interface BulkCreateDraftPostsOptions {
/** Whether the draft post should be published after creation. */
publish?: boolean;
/** Whether to return the full created draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of draft post fields to be included in the response if the entities are present.
* Base default fieldset returns all core draft post properties (all properties that are not a supported fieldset value).
* For example, when `URL` fieldset is selected, returned draft post will include the set of base properties and the draft post's preview url.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Updates multiple draft posts.
* @public
* @requiredField options.draftPosts.draftPost
* @requiredField options.draftPosts.draftPost._id
* @param options - Options for updating multiple draft posts.
* @permissionId BLOG.EDIT-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.BulkUpdateDraftPosts
*/
declare function bulkUpdateDraftPosts(options?: NonNullablePaths): Promise>;
interface BulkUpdateDraftPostsOptions {
/**
* Draft posts to update.
* @minSize 1
* @maxSize 20
*/
draftPosts?: MaskedDraftPosts[];
/**
* Action to perform on the posts.
*
* Default: `UPDATE`
*/
action?: ActionWithLiterals;
/** Posts' scheduled publish date when `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/** Whether to return the full updated draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Retrieves a list of up to 100 deleted draft posts.
*
* List Draft Posts runs with these defaults, which you can override:
* - `editedDate` is sorted in descending order. In this case,`editedDate` implies the date the post was deleted.
* - `paging.limit` is `50`.
* - `paging.offset` is `0`.
* @public
* @param options - Options for listing deleted draft posts.
* @permissionId BLOG.READ_DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.ListDeletedDraftPosts
*/
declare function listDeletedDraftPosts(options?: ListDeletedDraftPostsOptions): Promise>;
interface ListDeletedDraftPostsOptions {
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, deleted draft posts in all languages are returned.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Sorting options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSortWithLiterals;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
/**
* Draft post ids.
* @maxSize 100
* @format GUID
*/
draftPostIds?: string[];
}
/**
* Retrieves a draft post by the provided ID.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @param options - Options for getting a draft post.
* @permissionId BLOG.READ_DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.GetDraftPost
*/
declare function getDraftPost(draftPostId: string, options?: GetDraftPostOptions): Promise>;
interface GetDraftPostOptions {
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Updates a draft post.
* @param _id - Draft post ID.
* @public
* @requiredField _id
* @requiredField draftPost
* @param options - Options for updating a draft post.
* @param draftPost - Draft Post info.
* @permissionId BLOG.EDIT-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.UpdateDraftPost
*/
declare function updateDraftPost(_id: string, draftPost: UpdateDraftPost, options?: UpdateDraftPostOptions): Promise>;
interface UpdateDraftPost {
/**
* Draft post ID.
* @readonly
* @maxLength 38
*/
_id?: string;
/**
* Draft post title.
* @maxLength 200
*/
title?: string;
/**
* Draft post excerpt.
*
* If no excerpt has been manually set, an excerpt is automatically generated from the post's text.
* This can be retrieved using the `GENERATED_EXCERPT` fieldset.
* @maxLength 500
*/
excerpt?: string | null;
/** Whether the draft post is marked as featured. */
featured?: boolean | null;
/**
* Category IDs of the draft post.
* @maxSize 10
* @maxLength 38
*/
categoryIds?: string[];
/**
* Draft post owner's member ID.
* @format GUID
*/
memberId?: string | null;
/**
* Hashtags in the post.
* @maxSize 100
* @maxLength 100
*/
hashtags?: string[];
/** Whether commenting on the draft post is enabled. */
commentingEnabled?: boolean | null;
/**
* Estimated reading time of the draft post (calculated automatically).
* @readonly
*/
minutesToRead?: number;
/** Image placed at the top of the blog page. */
heroImage?: string;
/**
* Tag IDs the draft post is tagged with.
* @maxSize 30
* @maxLength 38
*/
tagIds?: string[];
/**
* IDs of posts related to this draft post.
* @maxSize 3
* @maxLength 38
*/
relatedPostIds?: string[];
/**
* Pricing plan IDs. Only relevant if a post is assigned to a specific pricing plan. See the Pricing Plans API for more info.
* @maxSize 100
* @format GUID
*/
pricingPlanIds?: string[];
/**
* ID of the draft post's translations.
*
* All translations of a single post share the same `translationId`.
* Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.
* @format GUID
*/
translationId?: string | null;
/**
* Language the draft post is written in.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Draft Post rich content.
*
*
* See Ricos document reference
*
*/
richContent?: RichContent;
/**
* Status of the draft post.
* @readonly
*/
status?: StatusWithLiterals;
/** Details of the draft post in review. Only relevant to posts submitted by guest writers. */
moderationDetails?: ModerationDetails;
/**
* Indicates if there are changes made to the draft post that have not yet been published.
* @readonly
*/
hasUnpublishedChanges?: boolean;
/**
* Date the draft post was last edited.
* @readonly
*/
editedDate?: Date | null;
/**
* Date the draft post is scheduled to be published.
* @readonly
*/
scheduledPublishDate?: Date | null;
/** Date the post was first published. */
firstPublishedDate?: Date | null;
/** SEO data. */
seoData?: SeoSchema;
/**
* Draft post URL preview. What the URL will look like once the post is published.
* @readonly
*/
url?: string;
/**
* Date the draft post was first created.
* @readonly
*/
_createdDate?: Date | null;
/**
* SEO slug.
* @maxLength 100
*/
seoSlug?: string | null;
/** Post cover media. */
media?: Media;
/** Number of paragraphs to display in a paid content preview for non-paying users. */
previewTextParagraph?: number | null;
}
interface UpdateDraftPostOptions {
/**
* Action to perform on the post.
*
* Default: `UPDATE`
*/
action?: ActionWithLiterals;
/** Post publish schedule date if `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Moves a draft post to the trash bin.
* A published post can also be deleted by the `post.id`. See the Posts API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/blog/posts/) | [REST](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/post-object)) for more information about posts.
*
* To permanently delete a post bypassing the trash bin, set the `permanent` field value to `true`. The post can't be restored after this.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @param options - Options for deleting a draft post.
* @permissionId BLOG.DELETE-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.DeleteDraftPost
*/
declare function deleteDraftPost(draftPostId: string, options?: DeleteDraftPostOptions): Promise;
interface DeleteDraftPostOptions {
/**
* Whether to bypass the trash bin and delete the post permanently.
*
* Default: `false`
*/
permanent?: boolean;
}
/**
* Permanently deletes a draft post that is currently in the trash bin.
*
* This action is permanent and can't be reversed.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @permissionId BLOG.DELETE-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.RemoveFromTrashBin
*/
declare function removeFromTrashBin(draftPostId: string): Promise;
/**
* Deletes multiple draft posts.
* @param postIds - Post IDs.
* @public
* @requiredField postIds
* @param options - Options for deleting multiple draft posts.
* @permissionId BLOG.DELETE-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.BulkDeleteDraftPosts
*/
declare function bulkDeleteDraftPosts(postIds: string[], options?: BulkDeleteDraftPostsOptions): Promise>;
interface BulkDeleteDraftPostsOptions {
/** Should delete bypassing the trash-bin. */
permanent?: boolean;
}
/**
* Retrieves a list of up to 100 draft posts per request.
*
* List Draft Posts runs with these defaults, which you can override:
* - `editedDate` is sorted in descending order.
* - `paging.limit` is `50`.
* - `paging.offset` is `0`.
* @public
* @param options - Options for listing multiple draft posts.
* @permissionId BLOG.READ_DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.ListDraftPosts
*/
declare function listDraftPosts(options?: ListDraftPostsOptions): Promise>;
interface ListDraftPostsOptions {
/**
* Draft post status filter.
*
* If omitted, draft posts with all statuses are returned.
*/
status?: StatusWithLiterals;
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, draft posts in all languages are returned.
* @format LANGUAGE_TAG
*/
language?: string | null;
/**
* Sort options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSortWithLiterals;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[];
}
/**
* Retrieves a deleted draft post from the trash bin by the provided ID.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @permissionId BLOG.READ_DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.GetDeletedDraftPost
*/
declare function getDeletedDraftPost(draftPostId: string): Promise>;
/**
* Restores a deleted draft post from the trash bin by the provided ID.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @permissionId BLOG.EDIT-DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.RestoreFromTrashBin
*/
declare function restoreFromTrashBin(draftPostId: string): Promise>;
/**
* Creates a query to retrieve a list of up to 100 draft posts.
*
*
* The `queryDraftPosts()` function builds a query to retrieve a list of up to 100 draft posts, and returns a `DraftPostsQueryBuilder` object.
*
* The returned object contains the query definition, which is typically used to run the query using the `find()` function.
*
* You can refine the query by chaining `DraftPostsQueryBuilder` functions onto the query. `DraftPostsQueryBuilder` functions enable you to sort, filter, and control the results that `queryDraftPosts()` returns.
*
* `queryDraftPosts()` runs with these `DraftPostsQueryBuilder` defaults that can be overridden:
* - `limit(50)`
* - `ascending('_id')`
*
* The following `DraftPostsQueryBuilder` functions are supported for `queryDraftPosts()`. For a full description of the Draft Posts object, see the object returned for the `items` property in `DraftPostsQueryResult`.
* @public
* @param options - Options for querying draft posts.
* @permissionId BLOG.READ_DRAFT
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.QueryDraftPosts
*/
declare function queryDraftPosts(options?: QueryDraftPostsOptions): DraftPostsQueryBuilder;
interface QueryDraftPostsOptions {
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
* @maxSize 10
*/
fieldsets?: FieldWithLiterals[] | undefined;
}
interface QueryCursorResult {
cursors: Cursors;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface DraftPostsQueryResult extends QueryCursorResult {
items: DraftPost[];
query: DraftPostsQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface DraftPostsQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
eq: (propertyName: '_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ne: (propertyName: '_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ge: (propertyName: 'title' | 'excerpt' | 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
gt: (propertyName: 'title' | 'excerpt' | 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
le: (propertyName: 'title' | 'excerpt' | 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
lt: (propertyName: 'title' | 'excerpt' | 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `string`.
* @param string - String to compare against. Case-insensitive.
*/
startsWith: (propertyName: 'title' | 'excerpt', value: string) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `values`.
* @param values - List of values to compare against.
*/
hasSome: (propertyName: string, value: any[]) => DraftPostsQueryBuilder;
/** @param propertyName - Property whose value is compared with `values`.
* @param values - List of values to compare against.
*/
hasAll: (propertyName: string, value: any[]) => DraftPostsQueryBuilder;
in: (propertyName: '_id' | 'title' | 'excerpt' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;
exists: (propertyName: 'title' | 'excerpt' | 'translationId' | 'language', value: boolean) => DraftPostsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
ascending: (...propertyNames: Array<'_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate'>) => DraftPostsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
descending: (...propertyNames: Array<'_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate'>) => DraftPostsQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object. */
limit: (limit: number) => DraftPostsQueryBuilder;
/** @param cursor - A pointer to specific record */
skipTo: (cursor: string) => DraftPostsQueryBuilder;
find: () => Promise;
}
/**
* Publishes a draft post by ID. This creates a new post ([SDK](https://dev.wix.com/docs/sdk/backend-modules/blog/posts/) | [REST](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/post-object))
* with the data from the draft post.
*
* If the draft post was already published, the published post will be updated with the latest values
* from the draft post.
* @param draftPostId - Draft post ID.
* @public
* @requiredField draftPostId
* @permissionId BLOG.PUBLISH-POST
* @applicableIdentity APP
* @fqn com.wixpress.npm.communities.platformized.blog.v3.DraftPostService.PublishDraftPost
*/
declare function publishDraftPost(draftPostId: string): Promise>;
export { Action, type ActionEvent, type ActionWithLiterals, Alignment, type AlignmentWithLiterals, type AnchorData, type AppEmbedData, type AppEmbedDataAppDataOneOf, AppType, type AppTypeWithLiterals, type ApplicationError, type ApproveDraftPostRequest, type ApproveDraftPostResponse, AspectRatio, type AspectRatioWithLiterals, type AudioData, type Background, type BackgroundBackgroundOneOf, BackgroundType, type BackgroundTypeWithLiterals, type BaseEventMetadata, type BlockquoteData, type BlogPaging, type BookingData, type Border, type BorderColors, type BulkActionMetadata, type BulkCreateDraftPostsOptions, type BulkCreateDraftPostsRequest, type BulkCreateDraftPostsResponse, type BulkDeleteDraftPostsOptions, type BulkDeleteDraftPostsRequest, type BulkDeleteDraftPostsResponse, type BulkDraftPostResult, type BulkRejectDraftPostRequest, type BulkRejectDraftPostResponse, type BulkRevertToUnpublishedRequest, type BulkRevertToUnpublishedResponse, type BulkUpdateDraftPostLanguageRequest, type BulkUpdateDraftPostLanguageResponse, type BulkUpdateDraftPostsOptions, type BulkUpdateDraftPostsRequest, type BulkUpdateDraftPostsResponse, type BulletedListData, type ButtonData, ButtonDataType, type ButtonDataTypeWithLiterals, type ButtonStyles, type CaptionData, type CardStyles, CardStylesType, type CardStylesTypeWithLiterals, type Category, type CategoryTranslation, type CellStyle, type CodeBlockData, type CollapsibleListData, type ColorData, type Colors, type CoverMedia, type CoverMediaMediaOneOf, type CreateDraftPostOptions, type CreateDraftPostRequest, type CreateDraftPostResponse, Crop, type CropWithLiterals, type CursorPaging, type Cursors, type Decoration, type DecorationDataOneOf, DecorationType, type DecorationTypeWithLiterals, type DeleteDraftPostOptions, type DeleteDraftPostRequest, type DeleteDraftPostResponse, type Design, type Dimensions, Direction, type DirectionWithLiterals, type DividerData, DividerDataAlignment, type DividerDataAlignmentWithLiterals, type DocumentStyle, type DomainEvent, type DomainEventBodyOneOf, type DraftCategoriesUpdated, type DraftCreatedEnvelope, type DraftDeletedEnvelope, type DraftPost, type DraftPostOwnerChanged, type DraftPostTranslation, type DraftPostsQueryBuilder, type DraftPostsQueryResult, type DraftTagsUpdated, type DraftUpdatedEnvelope, type EmbedData, type EmbedMedia, type EmbedThumbnail, type EmbedVideo, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventData, type EventMetadata, Field, type FieldWithLiterals, type FileData, type FileSource, type FileSourceDataOneOf, type FocalPoint, type FontSizeData, FontType, type FontTypeWithLiterals, type GIF, type GIFData, GIFType, type GIFTypeWithLiterals, type GalleryData, type GalleryOptions, type GalleryOptionsLayout, type GetDeletedDraftPostRequest, type GetDeletedDraftPostResponse, type GetDraftPostOptions, type GetDraftPostRequest, type GetDraftPostResponse, type GetDraftPostTotalsRequest, type GetDraftPostTotalsResponse, GetDraftPostsSort, type GetDraftPostsSortWithLiterals, type GetPostAmountsByLanguageRequest, type GetPostAmountsByLanguageResponse, type Gradient, type HTMLData, type HTMLDataDataOneOf, type HeadingData, type Height, type IdentificationData, type IdentificationDataIdOneOf, type Image, type ImageData, type ImageDataStyles, type ImageStyles, type InitialDraftPostsCopied, InitialExpandedItems, type InitialExpandedItemsWithLiterals, type IsDraftPostAutoTranslatableRequest, type IsDraftPostAutoTranslatableResponse, type Item, type ItemDataOneOf, type ItemMetadata, type ItemStyle, type Keyword, Layout, type LayoutCellData, LayoutType, type LayoutTypeWithLiterals, type LayoutWithLiterals, LineStyle, type LineStyleWithLiterals, type Link, type LinkData, type LinkDataOneOf, type LinkPreviewData, type LinkPreviewDataStyles, type ListDeletedDraftPostsOptions, type ListDeletedDraftPostsRequest, type ListDeletedDraftPostsResponse, type ListDraftPostsOptions, type ListDraftPostsRequest, type ListDraftPostsResponse, type ListValue, type MapData, type MapSettings, MapType, type MapTypeWithLiterals, type MarkPostAsInModerationRequest, type MarkPostAsInModerationResponse, type MaskedDraftPosts, type Media, type MediaMediaOneOf, type MentionData, type MessageEnvelope, type MetaData, type Metadata, type ModerationDetails, ModerationStatusStatus, type ModerationStatusStatusWithLiterals, type Node, type NodeDataOneOf, type NodeStyle, NodeType, type NodeTypeWithLiterals, NullValue, type NullValueWithLiterals, type Oembed, type Option, type OptionDesign, type OptionLayout, type OrderedListData, Orientation, type OrientationWithLiterals, Origin, type OriginWithLiterals, type PDFSettings, type Paging, type PagingMetadataV2, type ParagraphData, type Permissions, Placement, type PlacementWithLiterals, type PlatformQuery, type PlatformQueryPagingMethodOneOf, type PlaybackOptions, type PluginContainerData, PluginContainerDataAlignment, type PluginContainerDataAlignmentWithLiterals, type PluginContainerDataWidth, type PluginContainerDataWidthDataOneOf, type Poll, type PollData, type PollDataLayout, type PollDesign, type PollLayout, PollLayoutDirection, type PollLayoutDirectionWithLiterals, PollLayoutType, type PollLayoutTypeWithLiterals, type PollSettings, Position, type PositionWithLiterals, type PostAmountByLanguage, type PublishDraftPostRequest, type PublishDraftPostResponse, type QueryDraftPostsOptions, type QueryDraftPostsRequest, type QueryDraftPostsResponse, type RejectDraftPostRequest, type RejectDraftPostResponse, type Rel, type RemoveFromTrashBinRequest, type RemoveFromTrashBinResponse, Resizing, type ResizingWithLiterals, type RestoreFromTrashBinRequest, type RestoreFromTrashBinResponse, type RestoreInfo, type RevertToUnpublishedRequest, type RevertToUnpublishedResponse, type RibbonStyles, type RichContent, type SeoSchema, type Settings, SortOrder, type SortOrderWithLiterals, type Sorting, Source, type SourceWithLiterals, type Spoiler, type SpoilerData, Status, type StatusWithLiterals, type Styles, type StylesBorder, StylesPosition, type StylesPositionWithLiterals, type TableCellData, type TableData, type Tag, Target, type TargetWithLiterals, TextAlignment, type TextAlignmentWithLiterals, type TextData, type TextNodeStyle, type TextStyle, type Thumbnails, ThumbnailsAlignment, type ThumbnailsAlignmentWithLiterals, type TotalDraftPosts, TotalDraftPostsGroupingField, type TotalDraftPostsGroupingFieldWithLiterals, type TranslateCategoryRequest, type TranslateCategoryResponse, type TranslateDraftRequest, type TranslateDraftResponse, Type, type TypeWithLiterals, type UnpublishPostRequest, type UnpublishPostResponse, type UpdateDraftPost, type UpdateDraftPostContentRequest, type UpdateDraftPostContentResponse, type UpdateDraftPostLanguageRequest, type UpdateDraftPostLanguageResponse, type UpdateDraftPostOptions, type UpdateDraftPostRequest, type UpdateDraftPostResponse, type V1Media, VerticalAlignment, type VerticalAlignmentWithLiterals, type Video, type VideoData, type VideoResolution, ViewMode, type ViewModeWithLiterals, ViewRole, type ViewRoleWithLiterals, VoteRole, type VoteRoleWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, Width, WidthType, type WidthTypeWithLiterals, type WidthWithLiterals, type WixMedia, bulkCreateDraftPosts, bulkDeleteDraftPosts, bulkUpdateDraftPosts, createDraftPost, deleteDraftPost, getDeletedDraftPost, getDraftPost, listDeletedDraftPosts, listDraftPosts, onDraftCreated, onDraftDeleted, onDraftUpdated, publishDraftPost, queryDraftPosts, removeFromTrashBin, restoreFromTrashBin, updateDraftPost };