import { CreateInteractiveFormSessionRequest as CreateInteractiveFormSessionRequest$1, CreateInteractiveFormSessionResponse as CreateInteractiveFormSessionResponse$1, CreateInteractiveFormSessionStreamedRequest as CreateInteractiveFormSessionStreamedRequest$1, CreateInteractiveFormSessionStreamedResponse as CreateInteractiveFormSessionStreamedResponse$1, SendUserMessageRequest as SendUserMessageRequest$1, SendUserMessageResponse as SendUserMessageResponse$1, SendUserMessageStreamedRequest as SendUserMessageStreamedRequest$1, SendUserMessageStreamedResponse as SendUserMessageStreamedResponse$1, GenerateFormSummaryRequest as GenerateFormSummaryRequest$1, GenerateFormSummaryResponse as GenerateFormSummaryResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** * An interactive form session enables AI-powered conversational form completion. * The session maintains conversation context and tracks form data extraction throughout * the user's interaction with the AI assistant. */ interface InteractiveFormSession { /** * Interactive form session ID. * @format GUID * @readonly */ id?: string; /** * Form ID. * @format GUID */ formId?: string; } interface Form { /** * Form schema ID. * @format GUID * @readonly */ id?: string | null; /** * Form fields that define the input elements and their validation rules. * @maxSize 500 */ formFields?: Field[]; /** * Layout configuration that defines how form fields are organized across multiple steps. * Each step represents a page of the form. * @maxSize 100 */ steps?: Step[]; /** * Form rules, can be applied to layout and items properties. * @maxSize 100 * @deprecated Form rules, can be applied to layout and items properties. * @replacedBy wix.forms.v4.Form.form_rules * @targetRemovalDate 2026-04-01 */ rules?: FormRule[]; /** * Revision number, which increments by 1 each time the form schema is updated. * To prevent conflicting changes, the current revision must be passed when updating the form schema. * @readonly */ revision?: string | null; /** * Date and time when the form schema was created. * @readonly */ createdDate?: Date | null; /** * Date and time when the form schema was last updated. * @readonly */ updatedDate?: Date | null; /** * Fields which were soft deleted. * @maxSize 150 * @readonly */ deletedFields?: FormField[]; /** * Form fields that were soft deleted. * @maxSize 150 * @readonly */ deletedFormFields?: Field[]; /** Data extensions for storing additional custom properties. */ extendedFields?: ExtendedFields; /** * Unique identifier for the app that owns this form schema. * For example, `wix.form_app.form` for Wix Forms. * * See a list of namespaces for [apps made by Wix](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction#namespaces-of-apps-made-by-wix) section. * @minLength 10 * @maxLength 50 * @immutable */ namespace?: string; /** * Media folder ID for storing uploaded files from form submissions. * @maxLength 100 * @readonly */ mediaFolderId?: string | null; /** Submission limits that can automatically disable the form when reached. */ limitationRule?: LimitationRule; /** * Level of spam protection applied to form submissions. * * Default: `ADVANCED` */ spamFilterProtectionLevel?: SpamFilterProtectionLevelWithLiterals; /** Configuration for how required field indicators are displayed to the submitter. */ requiredIndicatorProperties?: RequiredIndicatorProperties; /** Configuration for actions taken after a form is successfully submitted. */ submitSettings?: SubmitSettings; /** * Message displayed to visitors when the form is disabled. * This allows you to inform submitters why the form isn't available. */ disabledFormMessage?: RichContent; /** * Whether the form is effectively active — `true` only when the user has not disabled the form * **and** no system service has placed an `activation_block` on it. * * Writing `enabled: true` records the user's intent to activate the form, but the value read * back may still be `false` if `activation_block` is present (e.g. a plan restriction is in * effect). Once the block is lifted the form becomes active automatically without any additional * write. * * Default: `true` */ enabled?: boolean | null; /** * Display name of the form schema. * @maxLength 200 */ name?: string | null; /** * Business logic rules that can modify form behavior based on user input or other conditions. * These rules can show/hide fields, change validation, or trigger actions. * @maxSize 100 */ formRules?: Rule[]; /** Tag IDs collections associated with the current entity. */ tags?: Tags; /** Source used for contact autofill when filling form fields. Default: FORM_INPUT. */ autoFillContact?: ContactAutofillWithLiterals; /** * Controls who can read submissions of this form beyond the standard permission. * * Default: `OWNER_AND_COLLABORATORS` */ submissionAccess?: SubmissionAccessWithLiterals; } interface FormField { /** * Item ID. * @format GUID * @immutable */ id?: string; /** * Definition of a target where the value of field belongs. * @maxLength 200 * @immutable */ target?: string | null; /** Validation of field output value. */ validation?: Validation; /** Mark the field as containing personal information. This will encrypt user data when storing it. */ pii?: boolean; /** Whether the field is hidden. */ hidden?: boolean; /** Field view properties. */ view?: Record | null; /** Details identifying field, which is extension of other entity */ dataExtensionsDetails?: DataExtensionsDetails; /** * Whether the field is read only. * Default: false */ readOnly?: boolean; } interface FormFieldStringType extends FormFieldStringTypeFormatOptionsOneOf { /** DATE format options */ dateOptions?: DateTimeAdvancedConstraints; /** DATE_TIME format options */ dateTimeOptions?: StringTypeDateTimeConstraints; /** TIME format options */ timeOptions?: StringTypeDateTimeConstraints; /** DATE_OPTIONAL_TIME format options */ dateOptionalTimeOptions?: StringTypeDateTimeConstraints; /** PHONE format options */ phoneOptions?: StringTypePhoneConstraints; /** * Minimum length. * @max 20000 */ minLength?: number | null; /** * Maximum length. * @max 20000 */ maxLength?: number | null; /** * Pattern for a regular expression match. * @maxLength 500 */ pattern?: string | null; /** Format of a string. */ format?: StringTypeFormatEnumFormatWithLiterals; /** Custom error messages when validation fails. */ errorMessages?: StringErrorMessages; /** * List of allowed values. * @maxSize 500 * @maxLength 20000 */ enum?: string[] | null; /** User defined error messages when particular validation constraint fails */ validationMessages?: StringTypeValidationMessages; } /** @oneof */ interface FormFieldStringTypeFormatOptionsOneOf { /** DATE format options */ dateOptions?: DateTimeAdvancedConstraints; /** DATE_TIME format options */ dateTimeOptions?: StringTypeDateTimeConstraints; /** TIME format options */ timeOptions?: StringTypeDateTimeConstraints; /** DATE_OPTIONAL_TIME format options */ dateOptionalTimeOptions?: StringTypeDateTimeConstraints; /** PHONE format options */ phoneOptions?: StringTypePhoneConstraints; } declare enum StringTypeFormatEnumFormat { UNDEFINED = "UNDEFINED", DATE = "DATE", TIME = "TIME", DATE_TIME = "DATE_TIME", EMAIL = "EMAIL", URL = "URL", UUID = "UUID", PHONE = "PHONE", URI = "URI", HOSTNAME = "HOSTNAME", COLOR_HEX = "COLOR_HEX", CURRENCY = "CURRENCY", LANGUAGE = "LANGUAGE", DATE_OPTIONAL_TIME = "DATE_OPTIONAL_TIME" } /** @enumType */ type StringTypeFormatEnumFormatWithLiterals = StringTypeFormatEnumFormat | 'UNDEFINED' | 'DATE' | 'TIME' | 'DATE_TIME' | 'EMAIL' | 'URL' | 'UUID' | 'PHONE' | 'URI' | 'HOSTNAME' | 'COLOR_HEX' | 'CURRENCY' | 'LANGUAGE' | 'DATE_OPTIONAL_TIME'; interface StringErrorMessages { /** * Default error message on invalid validation. * @maxLength 200 */ default?: string | null; } interface DateTimeAdvancedConstraints { /** * Allows to specify available and unavailable dates and days of the week. * If unset, all dates from minimum to maximum are available. */ availability?: Availability; /** * Support static constrains defined as ISO date/time format, as well as * dynamic calculations can be performed using special keywords such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ minimum?: string | null; /** * Support static constrains defined as ISO date/time format, as well as * dynamic calculations can be performed using special keywords such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ maximum?: string | null; } interface Availability { /** * Available date ranges. * If empty, all dates are available; if non-empty, only dates within these ranges are available. * `unavailable_dates` takes priority in case of overlap — for example, an empty `available_dates` * with a non-empty `unavailable_dates` means all dates are available except the excluded ranges. * @maxSize 5 */ availableDates?: DateRange[]; /** * Unavailable date ranges. They take priority over `available_dates` in case of overlap. * @maxSize 5 */ unavailableDates?: DateRange[]; /** * During available_dates, only these days of the week are available. * @maxSize 7 */ availableDays?: DayOfWeekWithLiterals[]; } interface DateRange { /** * The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD). * @format LOCAL_DATE */ start?: string; /** * The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD). * @format LOCAL_DATE */ end?: string; } declare enum DayOfWeek { MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY", SUNDAY = "SUNDAY" } /** @enumType */ type DayOfWeekWithLiterals = DayOfWeek | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'; interface StringTypeDateTimeConstraints { /** * Support static constrains defined as ISO date/time format, as well as * dynamic calculations can be performed using special keywords such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ minimum?: string | null; /** * Support static constrains defined as ISO date/time format, as well as * dynamic calculations can be performed using special keywords such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ maximum?: string | null; } interface StringTypePhoneConstraints { /** * Country codes for phone number that are allowed * @maxSize 250 * @maxLength 2 */ allowedCountryCodes?: string[]; } interface StringTypeValidationMessages { /** * Error message shown when validation of patter fails * @maxLength 200 */ pattern?: string | null; } interface FormFieldNumberType { /** Inclusive maximum value. */ maximum?: number | null; /** Inclusive minimum value. */ minimum?: number | null; /** Multiple of value. */ multipleOf?: number | null; /** Custom error message when validation fails. */ errorMessages?: NumberErrorMessages; /** * List of allowed values. * @maxSize 500 */ enum?: number[] | null; } interface NumberErrorMessages { /** * Default error message on invalid validation. * @maxLength 200 */ default?: string | null; } interface IntegerType { /** Minimum value. */ maximum?: number | null; /** Maximum value. */ minimum?: number | null; /** Multiple of value. */ multipleOf?: number | null; /** Custom error message when validation fails. */ errorMessages?: NumberErrorMessages; /** * List of allowed values. * @maxSize 500 */ enum?: number[] | null; } interface FormFieldBooleanType { /** Custom error message when validation fails. */ errorMessages?: BooleanErrorMessages; /** * List of allowed values. * @maxSize 2 */ enum?: boolean[]; } interface BooleanErrorMessages { /** * Default error message on invalid validation. * @maxLength 200 */ default?: string | null; } interface FormFieldArrayType { /** * Maximum amount of array elements. * @max 1000 */ maxItems?: number | null; /** * Minimum amount of array elements. * @max 1000 */ minItems?: number | null; /** Type of items allowed in array. */ items?: ArrayTypeArrayItems; /** Custom error message when validation fails. */ errorMessages?: ArrayErrorMessages; } interface FormFieldObjectType { /** Description of object properties. */ properties?: Record; /** Custom error message when validation fails. */ errorMessages?: ObjectErrorMessages; } interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOneOf { /** String type validation for property. */ string?: FormFieldStringType; /** Number type validation for property. */ number?: FormFieldNumberType; /** Boolean type validation for property. */ boolean?: FormFieldBooleanType; /** Integer type validation for property. */ integer?: IntegerType; /** Array type validation for property. */ array?: FormFieldArrayType; /** Whether the property is required. */ required?: boolean; } /** @oneof */ interface ObjectTypePropertiesTypePropertiesTypeOneOf { /** String type validation for property. */ string?: FormFieldStringType; /** Number type validation for property. */ number?: FormFieldNumberType; /** Boolean type validation for property. */ boolean?: FormFieldBooleanType; /** Integer type validation for property. */ integer?: IntegerType; /** Array type validation for property. */ array?: FormFieldArrayType; } interface ObjectErrorMessages { /** * Default error message on invalid validation. * @maxLength 200 */ default?: string | null; } interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemsOneOf { /** String type validation for items. */ string?: FormFieldStringType; /** Number type validation for items. */ number?: FormFieldNumberType; /** Boolean type validation for items. */ boolean?: FormFieldBooleanType; /** Integer type validation for items. */ integer?: IntegerType; /** Object type validation for items */ object?: FormFieldObjectType; } /** @oneof */ interface ArrayTypeArrayItemsItemsOneOf { /** String type validation for items. */ string?: FormFieldStringType; /** Number type validation for items. */ number?: FormFieldNumberType; /** Boolean type validation for items. */ boolean?: FormFieldBooleanType; /** Integer type validation for items. */ integer?: IntegerType; /** Object type validation for items */ object?: FormFieldObjectType; } interface ArrayErrorMessages { /** * Default error message on invalid validation. * @maxLength 200 */ default?: string | null; } interface PredefinedValidation extends PredefinedValidationFormatOptionsOneOf { /** Payment input field. */ paymentOptions?: PaymentType; /** Multiline address validation. */ multilineAddressOptions?: MultilineAddressValidation; /** Validation configuration for the object array input. */ objectArrayOptions?: ObjectArrayType; /** Format of predefined validation. */ format?: ValidationFormatWithLiterals; } /** @oneof */ interface PredefinedValidationFormatOptionsOneOf { /** Payment input field. */ paymentOptions?: PaymentType; /** Multiline address validation. */ multilineAddressOptions?: MultilineAddressValidation; /** Validation configuration for the object array input. */ objectArrayOptions?: ObjectArrayType; } declare enum ValidationFormat { UNDEFINED = "UNDEFINED", /** File upload validation. */ WIX_FILE = "WIX_FILE", /** Payment validation. */ PAYMENT = "PAYMENT", /** Multiline address. */ MULTILINE_ADDRESS = "MULTILINE_ADDRESS", /** Scheduling validation. */ SCHEDULING = "SCHEDULING", /** Object array validation. */ OBJECT_ARRAY = "OBJECT_ARRAY" } /** @enumType */ type ValidationFormatWithLiterals = ValidationFormat | 'UNDEFINED' | 'WIX_FILE' | 'PAYMENT' | 'MULTILINE_ADDRESS' | 'SCHEDULING' | 'OBJECT_ARRAY'; interface PaymentType { /** * Products the submitter can select to make a payment for. * @minSize 1 * @maxSize 100 */ products?: Product[]; /** * Minimum number of different products that must be selected. * @max 100 */ minItems?: number | null; /** * Maximum number of different products that can be selected. * @max 100 */ maxItems?: number | null; } declare enum ProductType { /** Physical product that can be shipped. */ SHIPPABLE = "SHIPPABLE", /** Digital product. */ DIGITAL = "DIGITAL" } /** @enumType */ type ProductTypeWithLiterals = ProductType | 'SHIPPABLE' | 'DIGITAL'; declare enum PriceType { /** Product has a single, unchanging price. */ FIXED_PRICE = "FIXED_PRICE", /** Product price can vary within a specified range. */ DYNAMIC_PRICE = "DYNAMIC_PRICE" } /** @enumType */ type PriceTypeWithLiterals = PriceType | 'FIXED_PRICE' | 'DYNAMIC_PRICE'; interface QuantityLimit { /** * Minimum quantity that must be selected for this product. * @min 1 * @max 100000 */ minimum?: number | null; /** * Maximum quantity that can be selected for this product. * @min 1 * @max 100000 */ maximum?: number | null; } interface FixedPriceOptions { /** * Fixed price of the product. * * Specified as a decimal string with period as decimal separator. For example, `"3.99"`. * @decimalValue options { gte:0.00, maxScale:2 } */ price?: string; } interface DynamicPriceOptions { /** * Minimum price of the product. * * Specified as a decimal string with period as decimal separator. For example, `"1.00"`. * @decimalValue options { gte:0.00, maxScale:2 } */ minPrice?: string; /** * Maximum monetary price of the product. * * Specified as a decimal string with period as decimal separator. For example, `"10.00"`. * * If not specified, there is no upper limit on the price. * @decimalValue options { gte:0.00, maxScale:2 } */ maxPrice?: string | null; } interface Product extends ProductPriceOptionsOneOf { /** Configuration for products with fixed pricing. */ fixedPriceOptions?: FixedPriceOptions; /** Configuration for products with variable pricing within a range. */ dynamicPriceOptions?: DynamicPriceOptions; /** * Product ID. * @format GUID * @readonly */ id?: string; /** Product type. */ productType?: ProductTypeWithLiterals; /** Price type. */ priceType?: PriceTypeWithLiterals; /** Limits on how many units of this product can be selected. */ quantityLimit?: QuantityLimit; } /** @oneof */ interface ProductPriceOptionsOneOf { /** Configuration for products with fixed pricing. */ fixedPriceOptions?: FixedPriceOptions; /** Configuration for products with variable pricing within a range. */ dynamicPriceOptions?: DynamicPriceOptions; } interface MultilineAddressValidation { /** * Countries from which addresses are accepted. * If empty, addresses from all countries are allowed. * @format COUNTRY * @maxSize 200 */ allowedCountries?: string[]; /** Customization configuration for individual address field components. */ fields?: FieldsOverrides; } interface FieldOverrides { /** Whether the field is required. */ required?: boolean; } interface FieldsOverrides { /** Subdivision settings. */ subdivision?: FieldOverrides; /** City settings. */ city?: FieldOverrides; /** Postal code settings. */ postalCode?: FieldOverrides; /** Street name settings. */ streetName?: FieldOverrides; /** Street number settings. */ streetNumber?: FieldOverrides; /** Address line settings. */ addressLine?: FieldOverrides; /** Address line 2 settings. */ addressLine2?: FieldOverrides; /** Country settings. */ country?: FieldOverrides; } interface ObjectArrayType { /** * Maximum number of elements allowed in the array. * @max 1000 */ maxItems?: number | null; /** * Minimum number of elements required in the array. * @max 1000 */ minItems?: number | null; } interface NestedFormFieldOverrides { /** Whether the field is required. Leave blank for no override. */ required?: boolean | null; /** Whether the field is hidden. Leave blank for no override. */ hidden?: boolean | null; } interface Validation extends ValidationValidationOneOf { /** Validation of string type. */ string?: FormFieldStringType; /** Validation of number type. */ number?: FormFieldNumberType; /** Validation of integer type. */ integer?: IntegerType; /** Validation of boolean type. */ boolean?: FormFieldBooleanType; /** Validation of array type. */ array?: FormFieldArrayType; /** Validation of object type. */ object?: FormFieldObjectType; /** Predefined validation of specific format */ predefined?: PredefinedValidation; /** Whether the field is required. */ required?: boolean; } /** @oneof */ interface ValidationValidationOneOf { /** Validation of string type. */ string?: FormFieldStringType; /** Validation of number type. */ number?: FormFieldNumberType; /** Validation of integer type. */ integer?: IntegerType; /** Validation of boolean type. */ boolean?: FormFieldBooleanType; /** Validation of array type. */ array?: FormFieldArrayType; /** Validation of object type. */ object?: FormFieldObjectType; /** Predefined validation of specific format */ predefined?: PredefinedValidation; } interface DataExtensionsDetails { /** * FQDNS which can be extended with this field * @maxSize 10 * @maxLength 100 * @immutable */ fqdns?: string[]; } interface NestedFormOverrides { /** Field overrides by field ID */ fieldOverrides?: Record; } interface Field extends FieldFieldTypeOptionsOneOf { /** Configuration for input fields that collect user data. */ inputOptions?: InputField; /** Configuration for display fields that show information without collecting input. */ displayOptions?: DisplayField; /** * Field ID. * @format GUID * @immutable */ id?: string; /** * Whether the field is hidden from submitters. * * Default: `false` */ hidden?: boolean; /** * Custom identification for the field. This is intended as a way for you to identify certain fields that you want to apply special behavior to in your own logic. * @maxLength 50 */ identifier?: string | null; /** * Field type. * @readonly */ fieldType?: FieldTypeWithLiterals; } /** @oneof */ interface FieldFieldTypeOptionsOneOf { /** Configuration for input fields that collect user data. */ inputOptions?: InputField; /** Configuration for display fields that show information without collecting input. */ displayOptions?: DisplayField; } declare enum FieldType { /** Unknown field type. */ UNKNOWN_FIELD_TYPE = "UNKNOWN_FIELD_TYPE", /** Input field that collects data from users. */ INPUT = "INPUT", /** Display field that shows information without collecting input. */ DISPLAY = "DISPLAY" } /** @enumType */ type FieldTypeWithLiterals = FieldType | 'UNKNOWN_FIELD_TYPE' | 'INPUT' | 'DISPLAY'; interface InputField extends InputFieldInputTypeOptionsOneOf { /** String input field settings. */ stringOptions?: _String; /** Number input field settings. */ numberOptions?: _Number; /** Boolean input field settings. */ booleanOptions?: _Boolean; /** Array input field settings. */ arrayOptions?: _Array; /** Object input field settings. */ objectOptions?: _Object; /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */ wixFileOptions?: WixFile; /** Payment input field settings. */ paymentOptions?: Payment; /** Scheduling input field settings. */ schedulingOptions?: Scheduling; /** Address input field settings. */ addressOptions?: Address; /** * Human readable identifier used to reference a field. For example, `"address"`. * * Can be set once. * @minLength 1 * @maxLength 200 * @immutable */ target?: string; /** * Whether this field contains Personally Identifiable Information (PII). * * PII fields are automatically encrypted when stored. * * Default: `false` */ pii?: boolean; /** * Whether the field is required for form submission. * * Default: `false` */ required?: boolean; /** * Type of the input field that determines what kind of data it collects. * @readonly */ inputType?: InputTypeWithLiterals; /** * Mapping configuration for automatically saving field values to contact properties. * * When specified, form submissions automatically create or update contacts with the field data. */ contactMapping?: FormFieldContactInfo; /** * Whether the field is read-only. * * Default: `false` */ readOnly?: boolean; } /** @oneof */ interface InputFieldInputTypeOptionsOneOf { /** String input field settings. */ stringOptions?: _String; /** Number input field settings. */ numberOptions?: _Number; /** Boolean input field settings. */ booleanOptions?: _Boolean; /** Array input field settings. */ arrayOptions?: _Array; /** Object input field settings. */ objectOptions?: _Object; /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */ wixFileOptions?: WixFile; /** Payment input field settings. */ paymentOptions?: Payment; /** Scheduling input field settings. */ schedulingOptions?: Scheduling; /** Address input field settings. */ addressOptions?: Address; } interface StringCorrectAnswersList { /** * @minLength 1 * @maxLength 150 * @maxSize 50 */ correctAnswers?: string[]; } interface StringType extends StringTypeFormatOptionsOneOf { /** Validation rules for strings with date format. */ dateOptions?: DateTimeAdvancedConstraints; /** Validation rules for strings with date and time format. */ dateTimeOptions?: DateTimeConstraints; /** Validation rules for strings with time format. */ timeOptions?: DateTimeConstraints; /** Validation rules for string with date and time format, where time is optional. */ dateOptionalTimeOptions?: DateTimeConstraints; /** Validation rules for strings with phone number format. */ phoneOptions?: PhoneConstraints; /** * Minimum required length for the string value. * @max 20000 */ minLength?: number | null; /** * Maximum allowed length for the string value. * @max 20000 */ maxLength?: number | null; /** * Regular expression pattern that the string value must match. * @maxLength 500 */ pattern?: string | null; /** Expected format of the string value. */ format?: FormatEnumFormatWithLiterals; /** * List of specific values that are allowed for this field. * When specified, the input must match one of these predefined values. * @maxSize 500 * @maxLength 20000 */ enum?: string[] | null; /** Custom error messages displayed when validation fails. */ validationMessages?: ValidationMessages; } /** @oneof */ interface StringTypeFormatOptionsOneOf { /** Validation rules for strings with date format. */ dateOptions?: DateTimeAdvancedConstraints; /** Validation rules for strings with date and time format. */ dateTimeOptions?: DateTimeConstraints; /** Validation rules for strings with time format. */ timeOptions?: DateTimeConstraints; /** Validation rules for string with date and time format, where time is optional. */ dateOptionalTimeOptions?: DateTimeConstraints; /** Validation rules for strings with phone number format. */ phoneOptions?: PhoneConstraints; } declare enum FormatEnumFormat { /** Unknown format. */ UNKNOWN_FORMAT = "UNKNOWN_FORMAT", /** Date format. */ DATE = "DATE", /** Time format. */ TIME = "TIME", /** Date and time format. */ DATE_TIME = "DATE_TIME", /** Email format. */ EMAIL = "EMAIL", /** URL format. */ URL = "URL", /** UUID format. */ UUID = "UUID", /** Phone number format. */ PHONE = "PHONE", /** URI format. */ URI = "URI", /** Hostname format. */ HOSTNAME = "HOSTNAME", /** Hexadecimal color code format. */ COLOR_HEX = "COLOR_HEX", /** Currency format. */ CURRENCY = "CURRENCY", /** Language code format. */ LANGUAGE = "LANGUAGE", /** Date with optional time format. */ DATE_OPTIONAL_TIME = "DATE_OPTIONAL_TIME" } /** @enumType */ type FormatEnumFormatWithLiterals = FormatEnumFormat | 'UNKNOWN_FORMAT' | 'DATE' | 'TIME' | 'DATE_TIME' | 'EMAIL' | 'URL' | 'UUID' | 'PHONE' | 'URI' | 'HOSTNAME' | 'COLOR_HEX' | 'CURRENCY' | 'LANGUAGE' | 'DATE_OPTIONAL_TIME'; interface DateTimeConstraints { /** * Minimum allowed datetime value. * * Supports ISO datetime format or dynamic calculations using "$now" keyword. * The dynamic calculation supports times in the future and past. * The pattern for dynamic calculations: $now([+-]\d{1,2})([yMdmh]). * * Examples: `"2023-01-01"`, `"$now-1d"` (1 day ago), `"$now+2h"` (2 hours from now). * @maxLength 50 */ minimum?: string | null; /** * Maximum allowed datetime value. * * Supports ISO datetime format or dynamic calculations using "$now" keyword. * The dynamic calculation supports times in the future and past. * The pattern for dynamic calculations: $now([+-]\d{1,2})([yMdmh]). * * Examples: `"2023-01-01"`, `"$now-1d"` (1 day ago), `"$now+2h"` (2 hours from now). * @maxLength 50 */ maximum?: string | null; } interface PhoneConstraints { /** * Country codes that are allowed for phone number validation. * * Use ISO 3166-1 alpha-2 country codes. For example, `"US"`, `"GB"`, `"CA"`. * @maxSize 250 * @maxLength 2 */ allowedCountryCodes?: string[]; } interface ValidationMessages { /** * Error message shown when the pattern validation fails. * * This message is displayed to users when their input doesn't match the specified regex pattern. * @maxLength 200 */ pattern?: string | null; } declare enum StringComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Text input component. */ TEXT_INPUT = "TEXT_INPUT", /** Radio group component. */ RADIO_GROUP = "RADIO_GROUP", /** Dropdown component. */ DROPDOWN = "DROPDOWN", /** Date and time component. */ DATE_TIME = "DATE_TIME", /** Phone number component. */ PHONE_INPUT = "PHONE_INPUT", /** Date selection component. */ DATE_INPUT = "DATE_INPUT", /** Time selection component. */ TIME_INPUT = "TIME_INPUT", /** Calendar-style date picker component. */ DATE_PICKER = "DATE_PICKER", /** Dropdown component for selecting available services. */ SERVICES_DROPDOWN = "SERVICES_DROPDOWN", /** Component which obscures input characters. */ PASSWORD = "PASSWORD" } /** @enumType */ type StringComponentTypeWithLiterals = StringComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'TEXT_INPUT' | 'RADIO_GROUP' | 'DROPDOWN' | 'DATE_TIME' | 'PHONE_INPUT' | 'DATE_INPUT' | 'TIME_INPUT' | 'DATE_PICKER' | 'SERVICES_DROPDOWN' | 'PASSWORD'; interface StringQuizFieldSettings { /** Points awarded for correctly answering this quiz question. */ score?: number; /** Correct answers for this quiz question. */ correctAnswersList?: StringCorrectAnswersList; } interface TextInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Placeholder text shown inside the field when it's empty. * Useful for providing a hint about the expected format or content. * @maxLength 100 */ placeholder?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Default value for the field. This value is pre-populated in the field when the form loads. * @maxLength 20000 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface RichContent { /** Node objects representing a rich content document. */ nodes?: Node[]; /** Object metadata. */ metadata?: Metadata; /** Global styling for header, paragraph, block quote, and code block nodes in the object. */ documentStyle?: DocumentStyle; } interface Node extends NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** Data for a layout node. Reserved for future use. */ layoutData?: LayoutData; /** Data for a cell node. */ layoutCellData?: LayoutCellData; /** Data for a shape node. */ shapeData?: ShapeData; /** Data for a card node. */ cardData?: CardData; /** Data for a table of contents node. */ tocData?: TocData; /** Data for a smart block node. */ smartBlockData?: SmartBlockData; /** Data for a smart block cell node. */ smartBlockCellData?: SmartBlockCellData; /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */ type?: NodeTypeWithLiterals; /** Node ID. */ id?: string; /** A list of child nodes. */ nodes?: Node[]; /** Padding and background color styling for the node. */ style?: NodeStyle; } /** @oneof */ interface NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** Data for a layout node. Reserved for future use. */ layoutData?: LayoutData; /** Data for a cell node. */ layoutCellData?: LayoutCellData; /** Data for a shape node. */ shapeData?: ShapeData; /** Data for a card node. */ cardData?: CardData; /** Data for a table of contents node. */ tocData?: TocData; /** Data for a smart block node. */ smartBlockData?: SmartBlockData; /** Data for a smart block cell node. */ smartBlockCellData?: SmartBlockCellData; } declare enum NodeType { PARAGRAPH = "PARAGRAPH", TEXT = "TEXT", HEADING = "HEADING", BULLETED_LIST = "BULLETED_LIST", ORDERED_LIST = "ORDERED_LIST", LIST_ITEM = "LIST_ITEM", BLOCKQUOTE = "BLOCKQUOTE", CODE_BLOCK = "CODE_BLOCK", VIDEO = "VIDEO", DIVIDER = "DIVIDER", FILE = "FILE", GALLERY = "GALLERY", GIF = "GIF", HTML = "HTML", IMAGE = "IMAGE", LINK_PREVIEW = "LINK_PREVIEW", /** @deprecated */ MAP = "MAP", POLL = "POLL", APP_EMBED = "APP_EMBED", BUTTON = "BUTTON", COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST", TABLE = "TABLE", EMBED = "EMBED", COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM", COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE", COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY", TABLE_CELL = "TABLE_CELL", TABLE_ROW = "TABLE_ROW", EXTERNAL = "EXTERNAL", AUDIO = "AUDIO", CAPTION = "CAPTION", LAYOUT = "LAYOUT", LAYOUT_CELL = "LAYOUT_CELL", SHAPE = "SHAPE", CARD = "CARD", TOC = "TOC", SMART_BLOCK = "SMART_BLOCK", SMART_BLOCK_CELL = "SMART_BLOCK_CELL" } /** @enumType */ type NodeTypeWithLiterals = NodeType | 'PARAGRAPH' | 'TEXT' | 'HEADING' | 'BULLETED_LIST' | 'ORDERED_LIST' | 'LIST_ITEM' | 'BLOCKQUOTE' | 'CODE_BLOCK' | 'VIDEO' | 'DIVIDER' | 'FILE' | 'GALLERY' | 'GIF' | 'HTML' | 'IMAGE' | 'LINK_PREVIEW' | 'MAP' | 'POLL' | 'APP_EMBED' | 'BUTTON' | 'COLLAPSIBLE_LIST' | 'TABLE' | 'EMBED' | 'COLLAPSIBLE_ITEM' | 'COLLAPSIBLE_ITEM_TITLE' | 'COLLAPSIBLE_ITEM_BODY' | 'TABLE_CELL' | 'TABLE_ROW' | 'EXTERNAL' | 'AUDIO' | 'CAPTION' | 'LAYOUT' | 'LAYOUT_CELL' | 'SHAPE' | 'CARD' | 'TOC' | 'SMART_BLOCK' | 'SMART_BLOCK_CELL'; 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; } /** Background type */ declare enum BackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT'; interface Gradient { /** Gradient type. */ type?: GradientTypeWithLiterals; /** * Color stops for the gradient. * @maxSize 1000 */ stops?: Stop[]; /** Angle in degrees for linear gradient (0-360). */ angle?: number | null; /** * Horizontal center position for radial gradient (0-100). * @max 100 */ centerX?: number | null; /** * Vertical center position for radial gradient (0-100). * @max 100 */ centerY?: number | null; } /** Gradient type. */ declare enum GradientType { /** Linear gradient. */ LINEAR = "LINEAR", /** Radial gradient. */ RADIAL = "RADIAL" } /** @enumType */ type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL'; /** A single color stop in the gradient. */ interface Stop { /** * Stop color as hex value. * @format COLOR_HEX */ color?: string | null; /** Stop position (0-1). */ position?: number | null; } interface Border { /** * Deprecated: Use `borderWidth` in `styles` instead. * @deprecated */ width?: number | null; /** * Deprecated: Use `borderRadius` in `styles` instead. * @deprecated */ radius?: number | null; } interface Colors { /** * Deprecated: Use `textColor` in `styles` instead. * @deprecated */ text?: string | null; /** * Deprecated: Use `borderColor` in `styles` instead. * @deprecated */ border?: string | null; /** * Deprecated: Use `backgroundColor` in `styles` instead. * @deprecated */ background?: string | null; } /** Background styling (color or gradient) */ interface Background { /** Background type. */ type?: BackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @format COLOR_HEX */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } interface PluginContainerData { /** The width of the node when it's displayed. */ width?: PluginContainerDataWidth; /** The node's alignment within its container. */ alignment?: PluginContainerDataAlignmentWithLiterals; /** Spoiler cover settings for the node. */ spoiler?: Spoiler; /** The height of the node when it's displayed. */ height?: Height; /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */ textWrap?: boolean | null; } declare enum WidthType { /** Width matches the content width */ CONTENT = "CONTENT", /** Small Width */ SMALL = "SMALL", /** Width will match the original asset width */ ORIGINAL = "ORIGINAL", /** coast-to-coast display */ FULL_WIDTH = "FULL_WIDTH" } /** @enumType */ type WidthTypeWithLiterals = WidthType | 'CONTENT' | 'SMALL' | 'ORIGINAL' | 'FULL_WIDTH'; interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthTypeWithLiterals; /** A custom width value in pixels. */ custom?: string | null; } /** @oneof */ interface PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthTypeWithLiterals; /** A custom width value in pixels. */ custom?: string | null; } declare enum PluginContainerDataAlignment { /** Center Alignment */ CENTER = "CENTER", /** Left Alignment */ LEFT = "LEFT", /** Right Alignment */ RIGHT = "RIGHT" } /** @enumType */ type PluginContainerDataAlignmentWithLiterals = PluginContainerDataAlignment | 'CENTER' | 'LEFT' | 'RIGHT'; interface Spoiler { /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */ enabled?: boolean | null; /** The description displayed on top of the spoiler cover. */ description?: string | null; /** The text for the button used to remove the spoiler cover. */ buttonText?: string | null; } interface Height { /** A custom height value in pixels. */ custom?: string | null; } declare enum ButtonDataType { /** Regular link button */ LINK = "LINK", /** Triggers custom action that is defined in plugin configuration by the consumer */ ACTION = "ACTION" } /** @enumType */ type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION'; interface Styles { /** * Deprecated: Use `borderWidth` and `borderRadius` instead. * @deprecated */ border?: Border; /** * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead. * @deprecated */ colors?: Colors; /** Border width in pixels. */ borderWidth?: number | null; /** * Deprecated: Use `borderWidth` for normal/hover states instead. * @deprecated */ borderWidthHover?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Border color as a hexadecimal value. * @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; /** * Deprecated: Use `background` instead. * @format COLOR_HEX * @deprecated */ backgroundColor?: string | null; /** * Deprecated: Use `backgroundHover` instead. * @format COLOR_HEX * @deprecated */ backgroundColorHover?: string | null; /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */ buttonSize?: string | null; /** Background styling (color or gradient). */ background?: Background; /** Background styling for hover state (color or gradient). */ backgroundHover?: Background; } interface Link extends LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; /** * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows: * `SELF` - Default. Opens the linked document in the same frame as the link. * `BLANK` - Opens the linked document in a new browser tab or window. * `PARENT` - Opens the linked document in the link's parent frame. * `TOP` - Opens the linked document in the full body of the link's browser tab or window. */ target?: LinkTargetWithLiterals; /** 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 LinkTarget { /** 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 LinkTargetWithLiterals = LinkTarget | '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 Media { /** The source for the media's data. */ src?: FileSource; /** Media width in pixels. */ width?: number | null; /** Media height in pixels. */ height?: number | null; /** Media duration in seconds. Only relevant for audio and video files. */ duration?: number | null; } interface ItemImage { /** Image file details. */ media?: Media; /** Link details for images that are links. */ link?: Link; } interface Video { /** Video file details. */ media?: Media; /** Video thumbnail file details. */ thumbnail?: Media; } interface Item extends ItemDataOneOf { /** An image item. */ image?: ItemImage; /** A video item. */ video?: Video; /** Item title. */ title?: string | null; /** Item's alternative text. */ altText?: string | null; } /** @oneof */ interface ItemDataOneOf { /** An image item. */ image?: ItemImage; /** 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; /** Rendered heading level for SEO/accessibility, overrides the HTML tag when set. */ renderedLevel?: 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; /** The WixelWidget ID for AI_WIDGET source nodes. */ widgetId?: string; /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */ containerData?: PluginContainerData; /** The type of HTML code. */ source?: SourceWithLiterals; /** If container height is aligned with its content height. Defaults to `true`. */ autoHeight?: boolean | null; } /** @oneof */ interface HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; /** The WixelWidget ID for AI_WIDGET source nodes. */ widgetId?: string; } declare enum Source { HTML = "HTML", ADSENSE = "ADSENSE", AI = "AI", AI_WIDGET = "AI_WIDGET" } /** @enumType */ type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI' | 'AI_WIDGET'; interface ImageData { /** Styling for the image's container. */ containerData?: PluginContainerData; /** Image file details. */ image?: Media; /** Link details for images that are links. */ link?: Link; /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */ disableExpand?: boolean | null; /** Image's alternative text. */ altText?: string | null; /** * Deprecated: use Caption node instead. * @deprecated */ caption?: string | null; /** Sets whether the image's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */ decorative?: boolean | null; /** Styling for the image. */ styles?: ImageDataStyles; } 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 PollOption { /** Option ID. */ id?: string | null; /** Option title. */ title?: string | null; /** The image displayed with the option. */ image?: Media; } interface Settings { /** Permissions settings for voting. */ permissions?: Permissions; /** Sets whether voters are displayed in the vote results. Defaults to `true`. */ showVoters?: boolean | null; /** Sets whether the vote count is displayed. Defaults to `true`. */ showVotesCount?: boolean | null; } declare enum PollLayoutType { /** List */ LIST = "LIST", /** Grid */ GRID = "GRID" } /** @enumType */ type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID'; declare enum PollLayoutDirection { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } /** @enumType */ type PollLayoutDirectionWithLiterals = PollLayoutDirection | 'LTR' | 'RTL'; interface PollLayout { /** The layout for displaying the voting options. */ type?: PollLayoutTypeWithLiterals; /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */ direction?: PollLayoutDirectionWithLiterals; /** Sets whether to display the main poll image. Defaults to `false`. */ enableImage?: boolean | null; } interface OptionLayout { /** Sets whether to display option images. Defaults to `false`. */ enableImage?: boolean | null; } declare enum PollDesignBackgroundType { /** Color background type */ COLOR = "COLOR", /** Image background type */ IMAGE = "IMAGE", /** Gradiant background type */ GRADIENT = "GRADIENT" } /** @enumType */ type PollDesignBackgroundTypeWithLiterals = PollDesignBackgroundType | 'COLOR' | 'IMAGE' | 'GRADIENT'; interface BackgroundGradient { /** The gradient angle in degrees. */ angle?: number | null; /** * The start color as a hexademical value. * @format COLOR_HEX */ startColor?: string | null; /** * The end color as a hexademical value. * @format COLOR_HEX */ lastColor?: string | null; } interface PollDesignBackground extends PollDesignBackgroundBackgroundOneOf { /** * The background color as a hexademical value. * @format COLOR_HEX */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: BackgroundGradient; /** Background type. For each option, include the relevant details. */ type?: PollDesignBackgroundTypeWithLiterals; } /** @oneof */ interface PollDesignBackgroundBackgroundOneOf { /** * The background color as a hexademical value. * @format COLOR_HEX */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: BackgroundGradient; } interface PollDesign { /** Background styling. */ background?: PollDesignBackground; /** Border radius in pixels. */ borderRadius?: number | null; } interface OptionDesign { /** Border radius in pixels. */ borderRadius?: number | null; } interface Poll { /** Poll ID. */ id?: string | null; /** Poll title. */ title?: string | null; /** Poll creator ID. */ creatorId?: string | null; /** Main poll image. */ image?: Media; /** Voting options. */ options?: PollOption[]; /** The poll's permissions and display settings. */ settings?: Settings; } interface PollDataLayout { /** Poll layout settings. */ poll?: PollLayout; /** Voting otpions layout settings. */ options?: OptionLayout; } interface Design { /** Styling for the poll. */ poll?: PollDesign; /** Styling for voting options. */ options?: OptionDesign; } interface TextData { /** The text to apply decorations to. */ text?: string; /** The decorations to apply. */ decorations?: Decoration[]; } /** Adds appearence changes to text */ interface Decoration extends DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; /** Data for a strikethrough decoration. Defaults to `true`. */ strikethroughData?: boolean | null; /** Data for a superscript decoration. Defaults to `true`. */ superscriptData?: boolean | null; /** Data for a subscript decoration. Defaults to `true`. */ subscriptData?: boolean | null; /** Data for a font family decoration. */ fontFamilyData?: FontFamilyData; /** The type of decoration to apply. */ type?: DecorationTypeWithLiterals; } /** @oneof */ interface DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; /** Data for a strikethrough decoration. Defaults to `true`. */ strikethroughData?: boolean | null; /** Data for a superscript decoration. Defaults to `true`. */ superscriptData?: boolean | null; /** Data for a subscript decoration. Defaults to `true`. */ subscriptData?: boolean | null; /** Data for a font family decoration. */ fontFamilyData?: FontFamilyData; } declare enum DecorationType { BOLD = "BOLD", ITALIC = "ITALIC", UNDERLINE = "UNDERLINE", SPOILER = "SPOILER", ANCHOR = "ANCHOR", MENTION = "MENTION", LINK = "LINK", COLOR = "COLOR", FONT_SIZE = "FONT_SIZE", EXTERNAL = "EXTERNAL", STRIKETHROUGH = "STRIKETHROUGH", SUPERSCRIPT = "SUPERSCRIPT", SUBSCRIPT = "SUBSCRIPT", FONT_FAMILY = "FONT_FAMILY" } /** @enumType */ type DecorationTypeWithLiterals = DecorationType | 'BOLD' | 'ITALIC' | 'UNDERLINE' | 'SPOILER' | 'ANCHOR' | 'MENTION' | 'LINK' | 'COLOR' | 'FONT_SIZE' | 'EXTERNAL' | 'STRIKETHROUGH' | 'SUPERSCRIPT' | 'SUBSCRIPT' | 'FONT_FAMILY'; 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 FontFamilyData { /** @maxLength 1000 */ value?: 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?: Media; /** Whether to hide the image. */ hideImage?: boolean | null; /** Whether to hide the title. */ hideTitle?: boolean | null; /** Whether to hide the price. */ hidePrice?: boolean | null; /** Whether to hide the description (Event and Booking). */ hideDescription?: boolean | null; /** Whether to hide the date and time (Event). */ hideDateTime?: boolean | null; /** Whether to hide the location (Event). */ hideLocation?: boolean | null; /** Whether to hide the duration (Booking). */ hideDuration?: boolean | null; /** Whether to hide the button. */ hideButton?: boolean | null; /** Whether to hide the ribbon. */ hideRibbon?: boolean | null; /** Button styling options. */ buttonStyles?: ButtonStyles; /** Image styling options. */ imageStyles?: ImageStyles; /** Ribbon styling options. */ ribbonStyles?: RibbonStyles; /** Card styling options. */ cardStyles?: CardStyles; /** Styling for the app embed's container. */ containerData?: PluginContainerData; /** Pricing data for embedded Wix App content. */ pricingData?: PricingData; } /** @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 CardStylesAlignment { /** 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 CardStylesAlignmentWithLiterals = CardStylesAlignment | '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?: CardStylesAlignmentWithLiterals; /** 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 PricingData { /** * Minimum numeric price value as string (e.g., "10.99"). * @decimalValue options { maxScale:2 } */ valueFrom?: string | null; /** * Maximum numeric price value as string (e.g., "19.99"). * @decimalValue options { maxScale:2 } */ valueTo?: string | null; /** * Numeric price value as string after discount application (e.g., "15.99"). * @decimalValue options { maxScale:2 } */ discountedValue?: string | null; /** * Currency of the value in ISO 4217 format (e.g., "USD", "EUR"). * @format CURRENCY */ currency?: string | null; /** * Pricing plan ID. * @format GUID */ pricingPlanId?: string | null; } interface VideoData { /** Styling for the video's container. */ containerData?: PluginContainerData; /** Video details. */ video?: Media; /** Video thumbnail details. */ thumbnail?: Media; /** Sets whether the video's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Video title. */ title?: string | null; /** Video options. */ options?: PlaybackOptions; } 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; /** The spacing between cells in pixels. Defaults to `0`. */ cellSpacing?: number | null; /** * Padding in pixels for cells. Follows CSS order: top, right, bottom, left. * @maxSize 4 */ cellPadding?: number[]; /** Table's alternative text. */ altText?: string | null; } interface Dimensions { /** An array representing relative width of each column in relation to the other columns. */ colsWidthRatio?: number[]; /** An array representing the height of each row in pixels. */ rowsHeight?: number[]; /** An array representing the minimum width of each column in pixels. */ colsMinWidth?: number[]; } interface TableCellData { /** Styling for the cell's background color and text alignment. */ cellStyle?: CellStyle; /** The cell's border colors. */ borderColors?: BorderColors; /** Defines how many columns the cell spans. Default: 1. */ colspan?: number | null; /** Defines how many rows the cell spans. Default: 1. */ rowspan?: number | null; /** The cell's border widths. */ borderWidths?: BorderWidths; } declare enum VerticalAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } /** @enumType */ type VerticalAlignmentWithLiterals = VerticalAlignment | 'TOP' | 'MIDDLE' | 'BOTTOM'; interface CellStyle { /** Vertical alignment for the cell's text. */ verticalAlignment?: VerticalAlignmentWithLiterals; /** * Cell background color as a hexadecimal value. * @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; } interface BorderWidths { /** Left border width in pixels. */ left?: number | null; /** Right border width in pixels. */ right?: number | null; /** Top border width in pixels. */ top?: number | null; /** Bottom border width in pixels. */ bottom?: number | null; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. */ declare enum NullValue { /** Null value. */ NULL_VALUE = "NULL_VALUE" } /** @enumType */ type NullValueWithLiterals = NullValue | 'NULL_VALUE'; /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. */ interface ListValue { /** Repeated field of dynamically typed values. */ values?: any[]; } interface AudioData { /** Styling for the audio node's container. */ containerData?: PluginContainerData; /** Audio file details. */ audio?: Media; /** Sets whether the audio node's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Cover image. */ coverImage?: Media; /** Track name. */ name?: string | null; /** Author name. */ authorName?: string | null; /** An HTML version of the audio node. */ html?: string | null; } 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 LayoutData { /** * Deprecated: Use `background` instead. * @format COLOR_HEX * @deprecated */ backgroundColor?: string | null; /** Background image. */ backgroundImage?: LayoutDataBackgroundImage; /** * Border color as a hexadecimal value. * @format COLOR_HEX */ borderColor?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** * Deprecated: Use `backdrop` instead. * @format COLOR_HEX * @deprecated */ backdropColor?: string | null; /** Backdrop image. */ backdropImage?: LayoutDataBackgroundImage; /** Backdrop top padding. */ backdropPaddingTop?: number | null; /** Backdrop bottom padding */ backdropPaddingBottom?: number | null; /** Horizontal and vertical gap between columns */ gap?: number | null; /** * Padding in pixels for cells. Follows CSS order: top, right, bottom, left * @maxSize 4 */ cellPadding?: number[]; /** Vertical alignment for the cell's items. */ cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals; /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */ responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals; /** Size in pixels when responsiveness_behaviour applies */ responsivenessBreakpoint?: number | null; /** Styling for the layout's container. */ containerData?: PluginContainerData; /** Defines where selected design propertied applies to */ designTarget?: DesignTargetWithLiterals; /** Banner configuration. When present, this layout is displayed as a banner. */ banner?: Banner; /** Background styling (color or gradient). */ background?: LayoutDataBackground; /** Backdrop styling (color or gradient). */ backdrop?: Backdrop; } declare enum ImageScalingScaling { /** Auto image scaling */ AUTO = "AUTO", /** Contain image scaling */ CONTAIN = "CONTAIN", /** Cover image scaling */ COVER = "COVER" } /** @enumType */ type ImageScalingScalingWithLiterals = ImageScalingScaling | 'AUTO' | 'CONTAIN' | 'COVER'; declare enum LayoutDataImagePosition { /** Image positioned at the center */ CENTER = "CENTER", /** Image positioned on the left */ CENTER_LEFT = "CENTER_LEFT", /** Image positioned on the right */ CENTER_RIGHT = "CENTER_RIGHT", /** Image positioned at the center top */ TOP = "TOP", /** Image positioned at the top left */ TOP_LEFT = "TOP_LEFT", /** Image positioned at the top right */ TOP_RIGHT = "TOP_RIGHT", /** Image positioned at the center bottom */ BOTTOM = "BOTTOM", /** Image positioned at the bottom left */ BOTTOM_LEFT = "BOTTOM_LEFT", /** Image positioned at the bottom right */ BOTTOM_RIGHT = "BOTTOM_RIGHT" } /** @enumType */ type LayoutDataImagePositionWithLiterals = LayoutDataImagePosition | 'CENTER' | 'CENTER_LEFT' | 'CENTER_RIGHT' | 'TOP' | 'TOP_LEFT' | 'TOP_RIGHT' | 'BOTTOM' | 'BOTTOM_LEFT' | 'BOTTOM_RIGHT'; declare enum Origin { /** Banner originated from an image */ IMAGE = "IMAGE", /** Banner originated from a layout */ LAYOUT = "LAYOUT" } /** @enumType */ type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT'; /** Background type */ declare enum LayoutDataBackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type LayoutDataBackgroundTypeWithLiterals = LayoutDataBackgroundType | 'COLOR' | 'GRADIENT'; /** Backdrop type */ declare enum BackdropType { /** Solid color backdrop */ COLOR = "COLOR", /** Gradient backdrop */ GRADIENT = "GRADIENT" } /** @enumType */ type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT'; interface LayoutDataBackgroundImage { /** Background image. */ media?: Media; /** Background image opacity. */ opacity?: number | null; /** Background image scaling. */ scaling?: ImageScalingScalingWithLiterals; /** Position of background. Defaults to `CENTER`. */ position?: LayoutDataImagePositionWithLiterals; } declare enum VerticalAlignmentAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } /** @enumType */ type VerticalAlignmentAlignmentWithLiterals = VerticalAlignmentAlignment | 'TOP' | 'MIDDLE' | 'BOTTOM'; declare enum ResponsivenessBehaviour { /** Stacking of columns */ STACK = "STACK", /** Wrapping of columns */ WRAP = "WRAP" } /** @enumType */ type ResponsivenessBehaviourWithLiterals = ResponsivenessBehaviour | 'STACK' | 'WRAP'; declare enum DesignTarget { /** Design applied to layout */ LAYOUT = "LAYOUT", /** Design applied to cells */ CELL = "CELL" } /** @enumType */ type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL'; interface Banner { /** Origin of the banner */ origin?: OriginWithLiterals; } /** Background styling (color or gradient) */ interface LayoutDataBackground { /** Background type. */ type?: LayoutDataBackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @format COLOR_HEX */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } /** Backdrop styling (color or gradient) */ interface Backdrop { /** Backdrop type. */ type?: BackdropTypeWithLiterals; /** * Backdrop color as a hexadecimal value. * @format COLOR_HEX */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } interface LayoutCellData { /** Size of the cell in 12 columns grid. */ colSpan?: number | null; } interface ShapeData { /** Styling for the shape's container. */ containerData?: PluginContainerData; /** Shape file details. */ shape?: Media; /** Styling for the shape. */ styles?: ShapeDataStyles; } interface ShapeDataStyles { /** * Shape fill color as a hexadecimal value. * @format COLOR_HEX */ color?: string | null; /** Map of original color keys to their new color values. */ colors?: Record; } interface CardData { /** Background styling (color or gradient). */ background?: CardDataBackground; /** Background image. */ backgroundImage?: BackgroundImage; } declare enum Scaling { /** Auto image scaling */ AUTO = "AUTO", /** Contain image scaling */ CONTAIN = "CONTAIN", /** Cover image scaling */ COVER = "COVER" } /** @enumType */ type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER'; declare enum ImagePositionPosition { /** Image positioned at the center */ CENTER = "CENTER", /** Image positioned on the left */ CENTER_LEFT = "CENTER_LEFT", /** Image positioned on the right */ CENTER_RIGHT = "CENTER_RIGHT", /** Image positioned at the center top */ TOP = "TOP", /** Image positioned at the top left */ TOP_LEFT = "TOP_LEFT", /** Image positioned at the top right */ TOP_RIGHT = "TOP_RIGHT", /** Image positioned at the center bottom */ BOTTOM = "BOTTOM", /** Image positioned at the bottom left */ BOTTOM_LEFT = "BOTTOM_LEFT", /** Image positioned at the bottom right */ BOTTOM_RIGHT = "BOTTOM_RIGHT" } /** @enumType */ type ImagePositionPositionWithLiterals = ImagePositionPosition | 'CENTER' | 'CENTER_LEFT' | 'CENTER_RIGHT' | 'TOP' | 'TOP_LEFT' | 'TOP_RIGHT' | 'BOTTOM' | 'BOTTOM_LEFT' | 'BOTTOM_RIGHT'; /** Background type */ declare enum CardDataBackgroundType { /** Solid color background */ COLOR = "COLOR", /** Gradient background */ GRADIENT = "GRADIENT" } /** @enumType */ type CardDataBackgroundTypeWithLiterals = CardDataBackgroundType | 'COLOR' | 'GRADIENT'; /** Background styling (color or gradient) */ interface CardDataBackground { /** Background type. */ type?: CardDataBackgroundTypeWithLiterals; /** * Background color as a hexadecimal value. * @format COLOR_HEX */ color?: string | null; /** Gradient configuration. */ gradient?: Gradient; } interface BackgroundImage { /** Background image. */ media?: Media; /** Background image opacity. */ opacity?: number | null; /** Background image scaling. */ scaling?: ScalingWithLiterals; /** Position of background. Defaults to `CENTER`. */ position?: ImagePositionPositionWithLiterals; } interface TocData { /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */ includedHeadings?: number[]; /** List style. Default: PLAIN. */ listStyle?: ListStyleWithLiterals; /** Optional override for the font size in pixels. */ fontSize?: number | null; /** Optional override for the vertical spacing between items in pixels. */ itemSpacing?: number | null; /** * Optional override for the text color. * @format COLOR_HEX */ color?: string | null; /** Indentation style. Default: NESTED. */ indentation?: IndentationWithLiterals; } /** List style. */ declare enum ListStyle { /** No markers (default) */ PLAIN = "PLAIN", /** Numbered list */ NUMBERED = "NUMBERED", /** Alphabetic letters */ LETTERS = "LETTERS", /** Roman numerals */ ROMAN = "ROMAN", /** Bulleted list */ BULLETED = "BULLETED", /** Alphabetical index */ ALPHABETICAL_INDEX = "ALPHABETICAL_INDEX", /** Alphabetical index (compact top-row only) */ ALPHABETICAL_INDEX_COMPACT = "ALPHABETICAL_INDEX_COMPACT" } /** @enumType */ type ListStyleWithLiterals = ListStyle | 'PLAIN' | 'NUMBERED' | 'LETTERS' | 'ROMAN' | 'BULLETED' | 'ALPHABETICAL_INDEX' | 'ALPHABETICAL_INDEX_COMPACT'; /** Indentation style. */ declare enum Indentation { /** Sub-headings indented under parents (default) */ NESTED = "NESTED", /** All items at the same level */ FLAT = "FLAT" } /** @enumType */ type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT'; /** Data for a smart block node. */ interface SmartBlockData { /** The type of the smart block. */ type?: SmartBlockDataTypeWithLiterals; /** Layout orientation. HORIZONTAL or VERTICAL. Optional for variants with fixed orientation. */ orientation?: string | null; /** Column size controlling cells per row. */ columnSize?: ColumnSizeWithLiterals; /** Border color (for SOLID_JOINED_BOXES variant). */ borderColor?: string | null; /** Border width in pixels (for SOLID_JOINED_BOXES variant). */ borderWidth?: number | null; /** Border radius in pixels (for SOLID_JOINED_BOXES variant). */ borderRadius?: number | null; } /** Layout type of the smart block */ declare enum SmartBlockDataType { /** Grid-based layouts with solid box items containing title, body, and icon/image. */ SOLID_BOXES = "SOLID_BOXES", /** Numbered boxes. */ NUMBERED_BOXES = "NUMBERED_BOXES", /** Statistics display with large numbers/values. */ STATS = "STATS", /** Statistics with circular visual elements. */ CIRCLE_STATS = "CIRCLE_STATS", /** Staggered/zigzag grid layout with alternating box positions. */ SOLID_BOXES_ALTERNATING = "SOLID_BOXES_ALTERNATING", /** Grid layout with boxes visually joined (no gaps, shared container border). */ SOLID_JOINED_BOXES = "SOLID_JOINED_BOXES", /** Transparent cells with only a left side line. */ SIDE_LINE_TEXT = "SIDE_LINE_TEXT", /** Transparent cells with only a top line. */ TOP_LINE_TEXT = "TOP_LINE_TEXT", /** Outlined boxes with a numbered/icon circle at the top. */ OUTLINE_BOXES_WITH_TOP_CIRCLE = "OUTLINE_BOXES_WITH_TOP_CIRCLE", /** Large icon bullets with text content. */ BIG_BULLETS = "BIG_BULLETS", /** Small dot bullets with text content. */ SMALL_BULLETS = "SMALL_BULLETS", /** Arrow icon bullets with text content. */ ARROW_BULLETS = "ARROW_BULLETS", /** Process steps with numbered/icon labels above a horizontal line. */ PROCESS_STEPS = "PROCESS_STEPS", /** Statistics with bar visual elements. */ BAR_STATS = "BAR_STATS" } /** @enumType */ type SmartBlockDataTypeWithLiterals = SmartBlockDataType | 'SOLID_BOXES' | 'NUMBERED_BOXES' | 'STATS' | 'CIRCLE_STATS' | 'SOLID_BOXES_ALTERNATING' | 'SOLID_JOINED_BOXES' | 'SIDE_LINE_TEXT' | 'TOP_LINE_TEXT' | 'OUTLINE_BOXES_WITH_TOP_CIRCLE' | 'BIG_BULLETS' | 'SMALL_BULLETS' | 'ARROW_BULLETS' | 'PROCESS_STEPS' | 'BAR_STATS'; /** Column size controlling how many cells appear per row. */ declare enum ColumnSize { /** Up to 4 cells in a row. */ SMALL = "SMALL", /** Up to 3 cells in a row (default). */ MEDIUM = "MEDIUM", /** Up to 2 cells in a row. */ LARGE = "LARGE", /** 1 cell in a row. */ EXTRA_LARGE = "EXTRA_LARGE" } /** @enumType */ type ColumnSizeWithLiterals = ColumnSize | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE'; /** Data for a smart block cell node. */ interface SmartBlockCellData { /** Optional label text for the cell (e.g., for stats variants). */ label?: string | null; /** Shape file details. */ shape?: Media; /** Border color of the cell. */ borderColor?: string | null; /** Border width in pixels. */ borderWidth?: number | null; /** Border radius in pixels. */ borderRadius?: number | null; /** The type of the parent smart block (must match parent). */ type?: SmartBlockDataTypeWithLiterals; /** Accent color for non-background variants (e.g., line, bullet, label color). */ accentColor?: string | null; /** Background color for background-based variants (SOLID_BOXES, SOLID_BOXES_ALTERNATING, SOLID_JOINED_BOXES). */ backgroundColor?: string | null; /** Shape fill color as a hexadecimal value. */ shapeColor?: string | 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; } interface MediaItem extends MediaItemMediaOneOf { /** WixMedia image. */ image?: Image; } /** @oneof */ interface MediaItemMediaOneOf { /** WixMedia image. */ image?: Image; } interface Image { /** * WixMedia image ID. * @maxLength 100 */ id?: string; /** * Image URL. * @maxLength 2000 */ url?: string; /** * Original image height. * @readonly */ height?: number; /** * Original image width. * @readonly */ width?: number; /** * Image alt text. * @maxLength 1000 */ altText?: string | null; /** * Image filename. * @readonly * @maxLength 1000 */ filename?: string | null; } interface MediaSettings { /** * Specifies where the image should be displayed relative to the field's label. * Default: `BELOW` */ imagePosition?: ImagePositionWithLiterals; /** * Specifies the image alignment. * Default: `CENTER` */ imageAlignment?: AlignmentWithLiterals; /** * Specifies how an image should be resized to fit. * Default: `COVER` */ imageFit?: ImageFitWithLiterals; } declare enum ImagePosition { /** Above the field's label. */ ABOVE = "ABOVE", /** Below the field's label. */ BELOW = "BELOW" } /** @enumType */ type ImagePositionWithLiterals = ImagePosition | 'ABOVE' | 'BELOW'; declare enum Alignment { /** Align left. */ LEFT = "LEFT", /** Align center. */ CENTER = "CENTER", /** Align right. */ RIGHT = "RIGHT" } /** @enumType */ type AlignmentWithLiterals = Alignment | 'LEFT' | 'CENTER' | 'RIGHT'; declare enum ImageFit { /** Scale the image to maintain its aspect ratio while filling the element's entire content box. Portions of the image may be clipped if the aspect ratios don't match. */ COVER = "COVER", /** Resize the image to fill the element's content box. The image's original sspect ratio may not be preserved. */ CONTAIN = "CONTAIN" } /** @enumType */ type ImageFitWithLiterals = ImageFit | 'COVER' | 'CONTAIN'; interface RadioGroup { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of options the submitter can select from. * @maxSize 400 */ options?: RadioGroupOption[]; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** * Specifies the number of columns used to display the selections within the component. * * Default: `ONE` */ numberOfColumns?: NumberOfColumnsWithLiterals; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface RadioGroupOption { /** * Selectable option label. * @maxLength 400 */ label?: string | null; /** * Value stored on submission when this option is selected. * @maxLength 20000 */ value?: string | null; /** Whether this option is selected by default. */ default?: boolean; /** * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation. * @format GUID * @immutable */ id?: string; } interface CustomOption { /** * Custom option label. * @maxLength 350 */ label?: string | null; /** * Custom option placeholder text. * @maxLength 100 */ placeholder?: string | null; } declare enum NumberOfColumns { /** Zero columns. */ ZERO = "ZERO", /** One column. */ ONE = "ONE", /** Two columns. */ TWO = "TWO", /** Three columns. */ THREE = "THREE" } /** @enumType */ type NumberOfColumnsWithLiterals = NumberOfColumns | 'ZERO' | 'ONE' | 'TWO' | 'THREE'; interface Dropdown { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of options the submitter can select from. * @maxSize 400 */ options?: DropdownOption[]; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** * Placeholder text shown when no option is selected. * @maxLength 100 */ placeholder?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface DropdownOption { /** * Selectable option label. * @maxLength 400 */ label?: string | null; /** * Value stored on submission when this option is selected. * @maxLength 20000 */ value?: string | null; /** Whether this option is selected by default. */ default?: boolean; /** * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation. * @format GUID * @immutable */ id?: string; } interface DateTimeInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Whether to display placeholder text in the field when it's empty. * * Default: `true` */ showPlaceholder?: boolean | null; /** * Whether to use 24-hour time format. * * Default: `false` */ use24HourFormat?: boolean; /** * Default value for the field. This value is pre-populated in the field when the form loads. * Supports static constrains defined as ISO date-time format, as well as dynamic calculations using special keywords * such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; /** * Flag identifying whether to show or hide the date labels. * Default: true */ showDateLabels?: boolean | null; } interface PhoneInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Placeholder text shown inside the field when it's empty. * @maxLength 100 */ placeholder?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Default country code for the phone number input. Two-letter country code in ISO-3166 alpha-2 format. * @minLength 1 * @maxLength 5 */ defaultCountryCode?: string | null; /** * Whether to display the country flag next to the country code. * * Default: `false` */ showCountryFlag?: boolean; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface DateInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Whether to display placeholder text in the field when it's empty. * * Default: `true` */ showPlaceholder?: boolean | null; /** * Default value for the field. This value is pre-populated in the field when the form loads. * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords * such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; /** * Flag identifying whether to show or hide the date labels. * Default: true */ showDateLabels?: boolean | null; } interface TimeInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Field description. */ description?: RichContent; /** * Whether to display the label. * * Default: `true` */ showLabel?: boolean | null; /** * Whether to display placeholder text in the field when it's empty. * * Default: `true` */ showPlaceholder?: boolean | null; /** * Whether to use 24-hour time format. * * Default: `false` */ use24HourFormat?: boolean; /** * Default value for the field. This value is pre-populated in the field when the form loads. * Supports static constrains defined as ISO time format, as well as dynamic calculations using special keywords * such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface DatePicker { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Placeholder text shown when no date is selected. * @maxLength 100 */ placeholder?: string | null; /** First day of the week displayed on the date picker. */ firstDayOfWeek?: FirstDayOfWeekWithLiterals; /** * Default value for the field. This value is pre-populated in the field when the form loads. * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords * such as "$now" to represent the current date and time. * The dynamic calculation supports expressions like "$now+2d" (2 days in the future), "$now-1h" (1 hour in the past), etc. * The regex pattern for dynamic calculations is: \$now([+-]\d{1,2})([yMdmh]) * @maxLength 50 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } declare enum FirstDayOfWeek { /** First day of the week is Monday. */ MONDAY = "MONDAY", /** First day of the week is Sunday. */ SUNDAY = "SUNDAY" } /** @enumType */ type FirstDayOfWeekWithLiterals = FirstDayOfWeek | 'MONDAY' | 'SUNDAY'; interface ServicesDropdown { /** * Field label. * @maxLength 350 */ label?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Placeholder text shown when no service is selected. * @maxLength 100 */ placeholder?: string | null; /** * List of service options the submitter can select from. * @maxSize 400 */ options?: ServiceOption[]; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** Additional description or instructions for the field. */ description?: RichContent; } interface ServiceOption { /** * Service name/label * @maxLength 400 */ label?: string | null; /** * Option id. Used as binding for translations. Corresponds to the Service ID. * @format GUID * @immutable */ id?: string; /** * Selectable option value, which is saved to DB. Corresponds to the Service ID. * @format GUID * @immutable */ value?: string | null; } interface Password { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Placeholder text shown inside the field when it's empty. * Useful for providing a hint about the expected format or content. * @maxLength 100 */ placeholder?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Default value for the field. This value is pre-populated in the field when the form loads. * @maxLength 20000 */ default?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface NumberCorrectAnswersList { /** @maxSize 50 */ correctAnswers?: number[]; } interface NumberType { /** The maximum value of the number. Inclusive. */ maximum?: number | null; /** The minimum value of the number. Inclusive. */ minimum?: number | null; /** A number that the value must be a multiple of. */ multipleOf?: number | null; /** * List of allowed values. * @maxSize 500 */ enum?: number[] | null; } declare enum NumberComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Numeric input component. */ NUMBER_INPUT = "NUMBER_INPUT", /** Rating input component. */ RATING_INPUT = "RATING_INPUT" } /** @enumType */ type NumberComponentTypeWithLiterals = NumberComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'NUMBER_INPUT' | 'RATING_INPUT'; interface NumberQuizFieldSettings { /** Points awarded for correctly answering this quiz question. */ score?: number; /** Correct answers for this quiz question. */ correctAnswersList?: NumberCorrectAnswersList; } interface NumberInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Placeholder text shown inside the field when it's empty. * @maxLength 100 */ placeholder?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Default value for the field. This value is pre-populated in the field when the form loads. */ default?: number | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface RatingInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Default rating value for the field. * @min 1 * @max 5 */ defaultValue?: number | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface BooleanType { /** * List of allowed values. * @maxSize 2 */ enum?: boolean[]; } declare enum BooleanComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Checkbox component. */ CHECKBOX = "CHECKBOX" } /** @enumType */ type BooleanComponentTypeWithLiterals = BooleanComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'CHECKBOX'; interface Checkbox { /** Field label. */ label?: RichContent; /** * Whether the checkbox is selected by default when the form loads. * * Default: `false` */ checked?: boolean; } interface CorrectAnswersList { /** @maxSize 50 */ correctAnswers?: any[]; } interface ArrayType { /** * Maximum number of elements allowed in the array. * @max 1000 */ maxItems?: number | null; /** * Minimum number of elements required in the array. * @max 1000 */ minItems?: number | null; /** Type of items allowed in the array. */ items?: ArrayItems; } declare enum ItemType { /** Array can contain string values. */ STRING = "STRING", /** Array can contain numeric values. */ NUMBER = "NUMBER", /** Array can contain boolean values. */ BOOLEAN = "BOOLEAN" } /** @enumType */ type ItemTypeWithLiterals = ItemType | 'STRING' | 'NUMBER' | 'BOOLEAN'; interface ObjectType { /** Definition of object properties and their validation rules. */ properties?: Record; } declare enum PropertiesTypeEnum { /** Property must contain a string value. */ STRING = "STRING", /** Property must contain a numeric value. */ NUMBER = "NUMBER", /** Property must contain a boolean value. */ BOOLEAN = "BOOLEAN", /** Property must contain an array. */ ARRAY = "ARRAY" } /** @enumType */ type PropertiesTypeEnumWithLiterals = PropertiesTypeEnum | 'STRING' | 'NUMBER' | 'BOOLEAN' | 'ARRAY'; interface PropertiesType extends PropertiesTypePropertiesTypeOptionsOneOf { /** Validation rules for string properties. */ stringOptions?: StringType; /** Validation rules for numeric properties. */ numberOptions?: NumberType; /** Validation rules for boolean properties. */ booleanOptions?: BooleanType; /** Validation rules for array properties. */ arrayOptions?: ArrayType; /** * Data type of the object property. * @readonly */ propertiesType?: PropertiesTypeEnumWithLiterals; /** Whether the object property is required for validation. */ required?: boolean; } /** @oneof */ interface PropertiesTypePropertiesTypeOptionsOneOf { /** Validation rules for string properties. */ stringOptions?: StringType; /** Validation rules for numeric properties. */ numberOptions?: NumberType; /** Validation rules for boolean properties. */ booleanOptions?: BooleanType; /** Validation rules for array properties. */ arrayOptions?: ArrayType; } interface ArrayItems extends ArrayItemsItemTypeOptionsOneOf { /** Validation rules for string array elements. */ stringOptions?: StringType; /** Validation rules for numeric array elements. */ numberOptions?: NumberType; /** Validation rules for boolean array elements. */ booleanOptions?: BooleanType; /** * Allowed item type. * @readonly */ itemType?: ItemTypeWithLiterals; } /** @oneof */ interface ArrayItemsItemTypeOptionsOneOf { /** Validation rules for string array elements. */ stringOptions?: StringType; /** Validation rules for numeric array elements. */ numberOptions?: NumberType; /** Validation rules for boolean array elements. */ booleanOptions?: BooleanType; } declare enum ArrayComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Checkbox group component. */ CHECKBOX_GROUP = "CHECKBOX_GROUP", /** Tags component. */ TAGS = "TAGS", SERVICES_CHECKBOX_GROUP = "SERVICES_CHECKBOX_GROUP" } /** @enumType */ type ArrayComponentTypeWithLiterals = ArrayComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'CHECKBOX_GROUP' | 'TAGS' | 'SERVICES_CHECKBOX_GROUP'; interface QuizFieldSettings { /** Points awarded for correctly answering this quiz question. */ score?: number; /** Correct answers for this quiz question. */ correctAnswersList?: CorrectAnswersList; } interface CheckboxGroup { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of options the submitter can select from. * @maxSize 400 */ options?: CheckboxGroupOption[]; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** * Specifies the number of columns used to display the selections within the component. * * Default: `ONE` */ numberOfColumns?: NumberOfColumnsWithLiterals; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface CheckboxGroupOption { /** * Selectable option label. * @maxLength 400 */ label?: string | null; /** Value stored on submission when this option is selected. */ value?: any; /** Whether this option is selected by default. */ default?: boolean; /** * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation. * @format GUID * @immutable */ id?: string; /** Media content associated with this option. */ media?: MediaItem; /** * Whether to display the option label. * * Default: `true` */ showLabel?: boolean | null; } interface ComponentsTags { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of options the submitter can select from. * @maxSize 400 */ options?: TagsOption[]; /** * Whether to display the label. * * Default: `true` */ showLabel?: boolean | null; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** * Specifies the number of columns used to display the selections within the component. * * Default: `ONE` */ numberOfColumns?: NumberOfColumnsWithLiterals; /** Media item. Media, associated with field, like image. */ media?: MediaItem; /** Configuration for the media item. */ mediaSettings?: MediaSettings; } interface TagsOption { /** * Selectable option label. * @maxLength 400 */ label?: string | null; /** Value stored on submission when this option is selected. */ value?: any; /** Flag identifying that option should be selected by default. */ default?: boolean; /** * Option id. Used as binding for translations * @format GUID * @immutable */ id?: string; /** Media content associated with the option, such as an image. */ media?: MediaItem; } interface ServicesCheckboxGroup { /** * Label of the field * @maxLength 350 */ label?: string | null; /** Description of the field */ description?: RichContent; /** * List of options to select from * @maxSize 100 */ options?: ServiceOption[]; /** * Flag identifying to hide or not label * Default: true */ showLabel?: boolean | null; /** Option which can be specified by UoU, enabled when this object is specified. */ customOption?: CustomOption; /** * Specifies the number of columns used to display the selections within the component. * Default: ONE */ numberOfColumns?: NumberOfColumnsWithLiterals; } declare enum WixFileComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** File upload component. */ FILE_UPLOAD = "FILE_UPLOAD", /** Signature component. */ SIGNATURE = "SIGNATURE" } /** @enumType */ type WixFileComponentTypeWithLiterals = WixFileComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'FILE_UPLOAD' | 'SIGNATURE'; interface FileType { /** * Maximum number of files that can be uploaded. * @min 1 * @max 30 */ fileLimit?: number; /** * Supported file formats for uploaded files. * @maxSize 6 */ uploadFileFormats?: UploadFileFormatWithLiterals[]; } declare enum UploadFileFormat { /** Video files. */ VIDEO = "VIDEO", /** Image files. */ IMAGE = "IMAGE", /** Audio files. */ AUDIO = "AUDIO", /** Document files. */ DOCUMENT = "DOCUMENT", /** Archive files. */ ARCHIVE = "ARCHIVE", /** 3D model files. */ MODEL_3D = "MODEL_3D" } /** @enumType */ type UploadFileFormatWithLiterals = UploadFileFormat | 'VIDEO' | 'IMAGE' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'MODEL_3D'; interface FileUpload { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Text displayed on the upload button. * @maxLength 500 */ buttonText?: string | null; /** * Custom text displayed when a file is uploaded. If not specified, the file name is shown. * @maxLength 255 */ explanationText?: string | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface Signature { /** * Field label. * @maxLength 350 */ label?: string | null; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Additional description or instructions for the field. */ description?: RichContent; /** Whether image upload is enabled for the signature field. */ imageUploadEnabled?: boolean; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media item. */ mediaSettings?: MediaSettings; } declare enum PaymentComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Checkbox group component. */ CHECKBOX_GROUP = "CHECKBOX_GROUP", /** Donation input component. */ DONATION_INPUT = "DONATION_INPUT", /** Payment input component. */ PAYMENT_INPUT = "PAYMENT_INPUT", /** Fixed payment component. */ FIXED_PAYMENT = "FIXED_PAYMENT" } /** @enumType */ type PaymentComponentTypeWithLiterals = PaymentComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'CHECKBOX_GROUP' | 'DONATION_INPUT' | 'PAYMENT_INPUT' | 'FIXED_PAYMENT'; interface ProductCheckboxGroup { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of product options the submitter can select from. * @maxSize 400 */ options?: ProductCheckboxGroupOption[]; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * How an image should be resized to fit within its option container. * * Default: `COVER` */ imageFit?: ImageFitWithLiterals; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface ProductCheckboxGroupOption { /** * Selectable option label. * @maxLength 400 */ label?: string | null; /** Value stored on submission when this option is selected. Must match a product ID found in the field's products list. */ value?: any; /** * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation. * @format GUID * @immutable */ id?: string; /** Media content associated with this option, such as an image. */ media?: MediaItem; /** Whether this option is selected by default. */ default?: boolean; } interface DonationInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * List of donation amount options the submitter can select from. * @maxSize 400 */ options?: DonationInputOption[]; /** Custom option which can be specified by the submitter. */ customOption?: CustomOption; /** * Specifies the number of columns used to display the selections within the component. * * Default: `ONE` */ numberOfColumns?: NumberOfColumnsWithLiterals; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface DonationInputOption { /** * Value stored on submission when this option is selected. Must match a product ID found in the field's products list. * @format GUID */ value?: string; /** Whether this option is selected by default. */ default?: boolean; } interface PaymentInput { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** * Placeholder text shown inside the field when it's empty. * @maxLength 100 */ placeholder?: string | null; /** Default value for the field. This value is pre-populated in the field when the form loads. */ default?: number | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } interface FixedPayment { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; /** Media content associated with the field, such as an image. */ media?: MediaItem; /** Configuration for the media content. */ mediaSettings?: MediaSettings; } declare enum ComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Multiline address component. */ MULTILINE_ADDRESS = "MULTILINE_ADDRESS" } /** @enumType */ type ComponentTypeWithLiterals = ComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'MULTILINE_ADDRESS'; interface MultilineAddress { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** Whether to display country flags in the country selection. */ showCountryFlags?: boolean; /** Default country configuration for the address field. */ defaultCountryConfig?: DefaultCountryConfig; /** Fields settings. */ fieldSettings?: FieldsSettings; /** Whether autocomplete is enabled for the address line field. */ autocompleteEnabled?: boolean; /** * Flag identifying whether to show or hide the address labels. * Default: true */ showAddressLabels?: boolean | null; /** * Flag identifying whether to show or hide the label. * Default: true */ showLabel?: boolean | null; } declare enum DefaultCountryConfigType { /** Unknown default country configuration type. */ UNKNOWN_DEFAULT_COUNTRY = "UNKNOWN_DEFAULT_COUNTRY", /** Country is determined by the submitter's IP address. */ BY_IP = "BY_IP", /** Pre-selected default country. */ COUNTRY = "COUNTRY" } /** @enumType */ type DefaultCountryConfigTypeWithLiterals = DefaultCountryConfigType | 'UNKNOWN_DEFAULT_COUNTRY' | 'BY_IP' | 'COUNTRY'; interface AddressLine2 { /** Whether to display the address line 2 field. */ show?: boolean; } interface DefaultCountryConfig extends DefaultCountryConfigOptionsOneOf { /** * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format. * @format COUNTRY */ countryOptions?: string; /** Default country type. */ type?: DefaultCountryConfigTypeWithLiterals; } /** @oneof */ interface DefaultCountryConfigOptionsOneOf { /** * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format. * @format COUNTRY */ countryOptions?: string; } interface FieldsSettings { /** Configuration for the address line 2 field. */ addressLine2?: AddressLine2; } declare enum ObjectArrayComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Repeater component. */ REPEATER = "REPEATER" } /** @enumType */ type ObjectArrayComponentTypeWithLiterals = ObjectArrayComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'REPEATER'; interface Repeater { /** * Field label. * @maxLength 350 */ label?: string | null; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the label. * * Default: `true` */ showLabel?: boolean | null; /** * Form fields that define the input elements inside repeater. * @maxSize 10 */ fields?: Field[]; /** Layout configuration that defines how form fields are arranged within this repeater. */ layout?: FormLayout; } interface FormLayout { /** Layout configuration for large screen breakpoints (desktop). */ large?: BreakPoint; /** Layout configuration for medium screen breakpoints (tablet). */ medium?: BreakPoint; /** Layout configuration for small screen breakpoints (mobile). */ small?: BreakPoint; } interface BreakPoint { /** * Configuration for the layout of items in the breakpoint. * @maxSize 500 */ items?: ItemLayout[]; /** Number of columns in the layout grid. */ columns?: number | null; /** Height of each row in the layout grid, measured in pixels. */ rowHeight?: number | null; /** Margin spacing configuration for the form elements. */ margin?: Margin; /** Padding spacing inside form elements in pixels. */ padding?: Margin; } interface ItemLayout extends ItemLayoutItemOneOf { /** * ID of the form field to be positioned in the layout. * @format GUID */ fieldId?: string; /** Group configuration for positioning multiple fields as a single layout unit. */ group?: Group; /** Row position in the grid where this item is placed. */ row?: number | null; /** Column position in the grid where this item is placed. */ column?: number | null; /** Width of the item in grid units. */ width?: number | null; /** Height of the item in grid units. */ height?: number | null; } /** @oneof */ interface ItemLayoutItemOneOf { /** * ID of the form field to be positioned in the layout. * @format GUID */ fieldId?: string; /** Group configuration for positioning multiple fields as a single layout unit. */ group?: Group; } interface Group { /** * ID of the field group. * @format GUID */ groupId?: string; /** * Layout configuration for individual items within this group. * @minSize 1 * @maxSize 500 */ items?: ItemLayout[]; } interface Margin { /** Horizontal spacing in pixels. */ horizontal?: number | null; /** Vertical spacing in pixels. */ vertical?: number | null; } interface Section { /** * Section ID. * @format GUID * @minLength 1 */ id?: string; /** Row position where this section is placed in the grid. */ row?: number | null; /** * A list of field IDs that can be placed within the section. * The section only accepts fields with IDs specified in this list. * If the `$new` key is contained in this list, the section allows the inclusion of fields not explicitly listed, enabling dynamic addition of new fields. * @maxSize 100 * @maxLength 100 */ allowedFieldIds?: string[]; } declare enum SchedulingComponentType { /** Unknown component type. */ UNKNOWN_COMPONENT_TYPE = "UNKNOWN_COMPONENT_TYPE", /** Appointment component. */ APPOINTMENT = "APPOINTMENT" } /** @enumType */ type SchedulingComponentTypeWithLiterals = SchedulingComponentType | 'UNKNOWN_COMPONENT_TYPE' | 'APPOINTMENT'; interface Appointment extends AppointmentFormatInfoOneOf { /** Configuration for in-person appointments. */ inPersonOptions?: InPersonOptions; /** Configuration for video conference appointments. */ videoConferenceOptions?: VideoConferenceOptions; /** Configuration for phone appointments. */ phoneOptions?: PhoneOptions; /** * Field label. * @maxLength 255 */ label?: string | null; /** * Appointment name. * @minLength 1 * @maxLength 400 */ name?: string | null; /** * Duration of the appointment in minutes. * @min 1 * @max 44639 */ durationInMinutes?: number | null; /** Whether appointments require manual approval before confirmation. */ manualApprovalRequired?: boolean | null; /** * IDs of staff members who provide this service. * @maxSize 220 * @format GUID */ staffIds?: string[] | null; /** Appointment format. */ format?: FormatWithLiterals; /** Additional description or instructions for the field. */ description?: RichContent; /** * Whether to display the field label. * * Default: `true` */ showLabel?: boolean | null; } /** @oneof */ interface AppointmentFormatInfoOneOf { /** Configuration for in-person appointments. */ inPersonOptions?: InPersonOptions; /** Configuration for video conference appointments. */ videoConferenceOptions?: VideoConferenceOptions; /** Configuration for phone appointments. */ phoneOptions?: PhoneOptions; } interface Location extends LocationLocationInfoOneOf { /** * Custom address specified as a text string. * @maxLength 512 */ customAddress?: string | null; /** * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction). * @format GUID */ businessLocationId?: string | null; } /** @oneof */ interface LocationLocationInfoOneOf { /** * Custom address specified as a text string. * @maxLength 512 */ customAddress?: string | null; /** * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction). * @format GUID */ businessLocationId?: string | null; } declare enum Format { /** Face-to-face meeting at a physical location. */ IN_PERSON = "IN_PERSON", /** Online meeting via video conference. */ VIDEO_CONFERENCE = "VIDEO_CONFERENCE", /** Appointment conducted over the phone. */ PHONE = "PHONE" } /** @enumType */ type FormatWithLiterals = Format | 'IN_PERSON' | 'VIDEO_CONFERENCE' | 'PHONE'; declare enum MeetingType { /** Single staff member provides the service. */ SINGLE_STAFF = "SINGLE_STAFF", /** Multiple staff members rotate via round robin scheduling. */ ROUND_ROBIN = "ROUND_ROBIN" } /** @enumType */ type MeetingTypeWithLiterals = MeetingType | 'SINGLE_STAFF' | 'ROUND_ROBIN'; declare enum StaffStrategySelection { /** Staff selected randomly. */ AUTOMATIC = "AUTOMATIC", /** Staff sorted by priority, highest first. */ HIGH_TO_LOW_PRIORITY = "HIGH_TO_LOW_PRIORITY", /** Staff sorted by priority, lowest first. */ LOW_TO_HIGH_PRIORITY = "LOW_TO_HIGH_PRIORITY" } /** @enumType */ type StaffStrategySelectionWithLiterals = StaffStrategySelection | 'AUTOMATIC' | 'HIGH_TO_LOW_PRIORITY' | 'LOW_TO_HIGH_PRIORITY'; interface InPersonOptions { /** * Physical locations where the appointment can take place. * @minSize 1 * @maxSize 1 */ locations?: Location[]; } interface VideoConferenceOptions { /** * Description or instructions for video conference appointments. * @maxLength 512 */ description?: string | null; } interface PhoneOptions { /** * Description or instructions for phone appointments. * @maxLength 512 */ description?: string | null; } declare enum InputType { /** Unknown input type. */ UNKNOWN_INPUT_TYPE = "UNKNOWN_INPUT_TYPE", /** String input. */ STRING = "STRING", /** Numeric input. */ NUMBER = "NUMBER", /** Boolean input. */ BOOLEAN = "BOOLEAN", /** Array input. */ ARRAY = "ARRAY", /** Object input. */ OBJECT = "OBJECT", /** File upload input. */ WIX_FILE = "WIX_FILE", /** Payment input. */ PAYMENT = "PAYMENT", /** Scheduling input. */ SCHEDULING = "SCHEDULING", /** Address input. */ ADDRESS = "ADDRESS" } /** @enumType */ type InputTypeWithLiterals = InputType | 'UNKNOWN_INPUT_TYPE' | 'STRING' | 'NUMBER' | 'BOOLEAN' | 'ARRAY' | 'OBJECT' | 'WIX_FILE' | 'PAYMENT' | 'SCHEDULING' | 'ADDRESS'; interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf { /** Configuration for email contact fields. */ emailInfo?: EmailInfo; /** Configuration for phone contact fields. */ phoneInfo?: PhoneInfo; /** Configuration for address contact fields. */ addressInfo?: AddressInfo; /** Configuration for custom contact fields. */ customFieldInfo?: CustomFieldInfo; /** Configuration for subscription contact fields. */ subscriptionInfo?: SubscriptionInfo; /** The [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/introduction) field that this form field maps to. */ contactField?: ContactFieldWithLiterals; } /** @oneof */ interface FormFieldContactInfoAdditionalInfoOneOf { /** Configuration for email contact fields. */ emailInfo?: EmailInfo; /** Configuration for phone contact fields. */ phoneInfo?: PhoneInfo; /** Configuration for address contact fields. */ addressInfo?: AddressInfo; /** Configuration for custom contact fields. */ customFieldInfo?: CustomFieldInfo; /** Configuration for subscription contact fields. */ subscriptionInfo?: SubscriptionInfo; } declare enum EmailInfoTag { /** Untagged email address. */ UNTAGGED = "UNTAGGED", /** Primary email address for the contact. */ MAIN = "MAIN" } /** @enumType */ type EmailInfoTagWithLiterals = EmailInfoTag | 'UNTAGGED' | 'MAIN'; declare enum PhoneInfoTag { /** Untagged phone number. */ UNTAGGED = "UNTAGGED", /** Primary phone number for the contact. */ MAIN = "MAIN" } /** @enumType */ type PhoneInfoTagWithLiterals = PhoneInfoTag | 'UNTAGGED' | 'MAIN'; declare enum Tag { /** Untagged address. */ UNTAGGED = "UNTAGGED", /** Home address. */ HOME = "HOME" } /** @enumType */ type TagWithLiterals = Tag | 'UNTAGGED' | 'HOME'; declare enum ConfirmationLevel { /** Unknown confirmation level. */ UNKNOWN_CONFIRMATION_LEVEL = "UNKNOWN_CONFIRMATION_LEVEL", /** Single confirmation level. */ SINGLE_CONFIRMATION = "SINGLE_CONFIRMATION", /** Double confirmation level. */ DOUBLE_CONFIRMATION = "DOUBLE_CONFIRMATION" } /** @enumType */ type ConfirmationLevelWithLiterals = ConfirmationLevel | 'UNKNOWN_CONFIRMATION_LEVEL' | 'SINGLE_CONFIRMATION' | 'DOUBLE_CONFIRMATION'; declare enum SubscriptionChannel { /** Email subscription channel. */ EMAIL = "EMAIL", /** SMS subscription channel. */ SMS = "SMS" } /** @enumType */ type SubscriptionChannelWithLiterals = SubscriptionChannel | 'EMAIL' | 'SMS'; declare enum ContactField { /** Contact's first name. */ FIRST_NAME = "FIRST_NAME", /** Contact's last name. */ LAST_NAME = "LAST_NAME", /** Contact's company or organization. */ COMPANY = "COMPANY", /** Contact's job title or position. */ POSITION = "POSITION", /** Contact's email address. */ EMAIL = "EMAIL", /** Contact's phone number. */ PHONE = "PHONE", /** Contact's physical address. */ ADDRESS = "ADDRESS", /** Contact's birth date. */ BIRTHDATE = "BIRTHDATE", /** Custom contact field defined by the site owner. */ CUSTOM_FIELD = "CUSTOM_FIELD", /** Contact's subscription preferences. */ SUBSCRIPTION = "SUBSCRIPTION", /** Contact's VAT identification number. */ VAT_ID = "VAT_ID" } /** @enumType */ type ContactFieldWithLiterals = ContactField | 'FIRST_NAME' | 'LAST_NAME' | 'COMPANY' | 'POSITION' | 'EMAIL' | 'PHONE' | 'ADDRESS' | 'BIRTHDATE' | 'CUSTOM_FIELD' | 'SUBSCRIPTION' | 'VAT_ID'; interface EmailInfo { /** Email categorization tag. */ tag?: EmailInfoTagWithLiterals; } interface PhoneInfo { /** Phone number categorization tag. */ tag?: PhoneInfoTagWithLiterals; } interface AddressInfo { /** Address categorization tag. */ tag?: TagWithLiterals; } interface CustomFieldInfo { /** * Custom field key. * @minLength 1 * @maxLength 500 */ key?: string; } interface SubscriptionInfo { /** * Subscription consent opt-in level, either single or double confirmation. * Default: `SINGLE_CONFIRMATION` */ confirmationLevel?: ConfirmationLevelWithLiterals; /** * Subscription channels. * When not specified, defaults to `EMAIL`. * @maxSize 2 */ subscriptionChannels?: SubscriptionChannelWithLiterals[]; } interface _String extends _StringComponentTypeOptionsOneOf { /** Text input component settings. */ textInputOptions?: TextInput; /** Radio group component settings. */ radioGroupOptions?: RadioGroup; /** Dropdown component settings. */ dropdownOptions?: Dropdown; /** Date and time input component settings. */ dateTimeOptions?: DateTimeInput; /** Phone input component settings. */ phoneInputOptions?: PhoneInput; /** Date input component settings. */ dateInputOptions?: DateInput; /** Time input component settings. */ timeInputOptions?: TimeInput; /** Date picker component settings. */ datePickerOptions?: DatePicker; /** Services dropdown component settings. */ servicesDropdownOptions?: ServicesDropdown; /** Password component settings. */ passwordOptions?: Password; /** Validation configuration for the string input. */ validation?: StringType; /** * Component type of the string input field. * @readonly */ componentType?: StringComponentTypeWithLiterals; } /** @oneof */ interface _StringComponentTypeOptionsOneOf { /** Text input component settings. */ textInputOptions?: TextInput; /** Radio group component settings. */ radioGroupOptions?: RadioGroup; /** Dropdown component settings. */ dropdownOptions?: Dropdown; /** Date and time input component settings. */ dateTimeOptions?: DateTimeInput; /** Phone input component settings. */ phoneInputOptions?: PhoneInput; /** Date input component settings. */ dateInputOptions?: DateInput; /** Time input component settings. */ timeInputOptions?: TimeInput; /** Date picker component settings. */ datePickerOptions?: DatePicker; /** Services dropdown component settings. */ servicesDropdownOptions?: ServicesDropdown; /** Password component settings. */ passwordOptions?: Password; } interface _Number extends _NumberComponentTypeOptionsOneOf { /** Number input settings. */ numberInputOptions?: NumberInput; /** Rating input settings. */ ratingInputOptions?: RatingInput; /** Validation configuration for the number input. */ validation?: NumberType; /** * Component type of the number input field. * @readonly */ componentType?: NumberComponentTypeWithLiterals; } /** @oneof */ interface _NumberComponentTypeOptionsOneOf { /** Number input settings. */ numberInputOptions?: NumberInput; /** Rating input settings. */ ratingInputOptions?: RatingInput; } interface _Boolean extends _BooleanComponentTypeOptionsOneOf { /** Checkbox component settings. */ checkboxOptions?: Checkbox; /** Validation configuration for the boolean input. */ validation?: BooleanType; /** * Component type of the boolean input field. * @readonly */ componentType?: BooleanComponentTypeWithLiterals; } /** @oneof */ interface _BooleanComponentTypeOptionsOneOf { /** Checkbox component settings. */ checkboxOptions?: Checkbox; } interface _Array extends _ArrayComponentTypeOptionsOneOf { /** Checkbox group component settings. */ checkboxGroupOptions?: CheckboxGroup; /** Tags component settings. */ tagsOptions?: ComponentsTags; /** Services checkbox group input field */ servicesCheckboxGroupOptions?: ServicesCheckboxGroup; /** Validation configuration for the array input. */ validation?: ArrayType; /** * Component type of the array input field. * @readonly */ componentType?: ArrayComponentTypeWithLiterals; } /** @oneof */ interface _ArrayComponentTypeOptionsOneOf { /** Checkbox group component settings. */ checkboxGroupOptions?: CheckboxGroup; /** Tags component settings. */ tagsOptions?: ComponentsTags; /** Services checkbox group input field */ servicesCheckboxGroupOptions?: ServicesCheckboxGroup; } interface _Object { /** Validation configuration for the object input. */ validation?: ObjectType; } interface WixFile extends WixFileComponentTypeOptionsOneOf { /** File upload component settings. */ fileUploadOptions?: FileUpload; /** Signature component settings. */ signatureOptions?: Signature; /** * Component type of the file input field. * @readonly */ componentType?: WixFileComponentTypeWithLiterals; /** Validation configuration for the file input. */ validation?: FileType; } /** @oneof */ interface WixFileComponentTypeOptionsOneOf { /** File upload component settings. */ fileUploadOptions?: FileUpload; /** Signature component settings. */ signatureOptions?: Signature; } interface Payment extends PaymentComponentTypeOptionsOneOf { /** Checkbox group component settings. */ checkboxGroupOptions?: ProductCheckboxGroup; /** Donation input component settings. */ donationInputOptions?: DonationInput; /** Payment input component settings. */ paymentInputOptions?: PaymentInput; /** Fixed payment component settings. */ fixedPaymentOptions?: FixedPayment; /** * Component type of the payment input field. * @readonly */ componentType?: PaymentComponentTypeWithLiterals; /** Validation configuration for the payment input. */ validation?: PaymentType; } /** @oneof */ interface PaymentComponentTypeOptionsOneOf { /** Checkbox group component settings. */ checkboxGroupOptions?: ProductCheckboxGroup; /** Donation input component settings. */ donationInputOptions?: DonationInput; /** Payment input component settings. */ paymentInputOptions?: PaymentInput; /** Fixed payment component settings. */ fixedPaymentOptions?: FixedPayment; } interface Scheduling extends SchedulingComponentTypeOptionsOneOf { /** Appointment component settings. */ appointmentOptions?: Appointment; /** * Component type of the scheduling field. * @readonly */ componentType?: SchedulingComponentTypeWithLiterals; } /** @oneof */ interface SchedulingComponentTypeOptionsOneOf { /** Appointment component settings. */ appointmentOptions?: Appointment; } interface Address extends AddressComponentTypeOptionsOneOf { /** Multiline address component settings. */ multilineAddressOptions?: MultilineAddress; /** * Component type of the multiline address field. * @readonly */ componentType?: ComponentTypeWithLiterals; /** Validation configuration for the multiline address input. */ validation?: MultilineAddressValidation; } /** @oneof */ interface AddressComponentTypeOptionsOneOf { /** Multiline address component settings. */ multilineAddressOptions?: MultilineAddress; } interface ObjectArray extends ObjectArrayComponentTypeOptionsOneOf { /** Repeater component settings. */ repeaterOptions?: Repeater; /** * Component type of the object array input. * @readonly */ componentType?: ObjectArrayComponentTypeWithLiterals; /** Validation configuration for the object array input. */ validation?: ObjectArrayType; } /** @oneof */ interface ObjectArrayComponentTypeOptionsOneOf { /** Repeater component settings. */ repeaterOptions?: Repeater; } interface DisplayField extends DisplayFieldDisplayFieldTypeOptionsOneOf { /** Configuration for rich content display fields. */ richContentOptions?: RichContentOptions; /** Configuration for page navigation display fields such as navigation or submit buttons. */ pageNavigationOptions?: PageNavigationOptions; /** Type of display field that determines its appearance and behavior. */ displayFieldType?: DisplayFieldTypeWithLiterals; } /** @oneof */ interface DisplayFieldDisplayFieldTypeOptionsOneOf { /** Configuration for rich content display fields. */ richContentOptions?: RichContentOptions; /** Configuration for page navigation display fields such as navigation or submit buttons. */ pageNavigationOptions?: PageNavigationOptions; } declare enum DisplayFieldType { /** Unknown field type. */ UNKNOWN_FIELD_TYPE = "UNKNOWN_FIELD_TYPE", /** Rich content display field. */ RICH_CONTENT = "RICH_CONTENT", /** Page navigation display field. */ PAGE_NAVIGATION = "PAGE_NAVIGATION", /** Login bar display field. */ LOGIN_BAR = "LOGIN_BAR" } /** @enumType */ type DisplayFieldTypeWithLiterals = DisplayFieldType | 'UNKNOWN_FIELD_TYPE' | 'RICH_CONTENT' | 'PAGE_NAVIGATION' | 'LOGIN_BAR'; interface RichContentOptions { /** Rich content to display in the field. */ richContent?: RichContent; /** * Maximum number of paragraphs to show initially. * Additional content is hidden behind an expandable section. If not specified, all content is visible. */ maxShownParagraphs?: number | null; } interface PageNavigationOptions { /** * Text displayed on the button when it navigates to the next page. * Only applicable when the button is not on the final form page. * @maxLength 65 */ nextPageText?: string | null; /** * Text displayed on the button when it navigates to the previous page. * Only applicable when the button is not on the first form page. * @maxLength 65 */ previousPageText?: string | null; /** * Text displayed on the button when it submits the form. * Only applicable when the button is on the final form page. * @maxLength 65 */ submitText?: string | null; } interface Step { /** * Step ID. * @format GUID * @immutable */ id?: string; /** * Name of the step. * @maxLength 200 */ name?: string | null; /** Whether the step is hidden. */ hidden?: boolean; /** Layout configuration that defines how form fields are arranged within this step. */ layout?: FormLayout; } interface FormRule { /** * Rule ID. * @format GUID * @immutable */ id?: string; /** Condition that determines when this rule's overrides should be applied. */ condition?: Record | null; /** * Changes to apply to form elements when the condition evaluates to true. * @maxSize 500 */ overrides?: FormOverride[]; /** * Name for the rule. * @maxLength 200 */ name?: string | null; /** * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities * @immutable */ namespaceRule?: boolean | null; } declare enum OverrideEntityType { /** Unknown override entity type. */ UNKNOWN = "UNKNOWN", /** Override applies to a form field. */ FIELD = "FIELD" } /** @enumType */ type OverrideEntityTypeWithLiterals = OverrideEntityType | 'UNKNOWN' | 'FIELD'; interface FormOverride { /** * Type of form element that this override targets. * @immutable */ entityType?: OverrideEntityTypeWithLiterals; /** * ID of the form element to modify. * For nested form fields, use the format: "{fieldIdWithNestedForm}/{nestedFormFieldId}". * @immutable * @maxLength 73 */ entityId?: string | null; /** * Property changes to apply to the form element when the rule condition is met. * Each key represents a property path, and the value is the new value to set. */ valueChanges?: Record; } interface FormProperties { /** * Form name. * @maxLength 200 * @deprecated * @replacedBy wix.forms.v4.Form.name * @targetRemovalDate 2026-01-06 */ name?: string | null; /** * Identifies if the form is disabled. * @deprecated Identifies if the form is disabled. * @replacedBy wix.forms.v4.Form.enabled * @targetRemovalDate 2026-01-06 */ disabled?: boolean; } declare enum Kind { /** Return forms specific to tenant, excluding template based forms. */ REGULAR = "REGULAR", /** Return forms based on common templates, with applied user overrides if they exist. */ EXTENSION = "EXTENSION" } /** @enumType */ type KindWithLiterals = Kind | 'REGULAR' | 'EXTENSION'; interface PostSubmissionTriggers { /** Upserts a [contact](https://support.wix.com/en/article/about-your-contact-list) to the Wix site from the form submission data. */ upsertContact?: UpsertContact; } interface UpsertContact { /** * Fields mapping between the form fields and the contact fields. * * This is the target form field mapped to the corresponding contact field. * * The key is the form field ID, and the value is the contact field. * @maxSize 250 */ fieldsMapping?: Record; /** * List of [labels](https://support.wix.com/en/article/creating-contact-labels) to add to the contact to help categorize it. * @minLength 1 * @maxLength 100 * @maxSize 20 */ labels?: string[]; } interface V4FormFieldContactInfo extends V4FormFieldContactInfoAdditionalInfoOneOf { /** Email info. */ emailInfo?: FormFieldContactInfoEmailInfo; /** Phone info. */ phoneInfo?: FormFieldContactInfoPhoneInfo; /** Address info. */ addressInfo?: FormFieldContactInfoAddressInfo; /** Custom field info. */ customFieldInfo?: FormFieldContactInfoCustomFieldInfo; /** Subscription info. */ subscriptionInfo?: FormFieldContactInfoSubscriptionInfo; /** The contact field that the form field maps to. */ contactField?: FormFieldContactInfoContactFieldWithLiterals; } /** @oneof */ interface V4FormFieldContactInfoAdditionalInfoOneOf { /** Email info. */ emailInfo?: FormFieldContactInfoEmailInfo; /** Phone info. */ phoneInfo?: FormFieldContactInfoPhoneInfo; /** Address info. */ addressInfo?: FormFieldContactInfoAddressInfo; /** Custom field info. */ customFieldInfo?: FormFieldContactInfoCustomFieldInfo; /** Subscription info. */ subscriptionInfo?: FormFieldContactInfoSubscriptionInfo; } declare enum FormFieldContactInfoEmailInfoTag { /** Email without a specific tag. */ UNTAGGED = "UNTAGGED", /** Primary email address for the contact. */ MAIN = "MAIN" } /** @enumType */ type FormFieldContactInfoEmailInfoTagWithLiterals = FormFieldContactInfoEmailInfoTag | 'UNTAGGED' | 'MAIN'; declare enum FormFieldContactInfoPhoneInfoTag { /** Phone number without a specific tag. */ UNTAGGED = "UNTAGGED", /** Primary phone number for the contact. */ MAIN = "MAIN" } /** @enumType */ type FormFieldContactInfoPhoneInfoTagWithLiterals = FormFieldContactInfoPhoneInfoTag | 'UNTAGGED' | 'MAIN'; declare enum AddressInfoTag { /** Address without a specific tag. */ UNTAGGED = "UNTAGGED", /** Home address for the contact. */ HOME = "HOME" } /** @enumType */ type AddressInfoTagWithLiterals = AddressInfoTag | 'UNTAGGED' | 'HOME'; declare enum OptInLevel { /** Unknown opt-in level. */ UNKNOWN = "UNKNOWN", /** Single confirmation opt-in. The contact is subscribed immediately. */ SINGLE_CONFIRMATION = "SINGLE_CONFIRMATION", /** Double confirmation opt-in. The contact must confirm their subscription via email. */ DOUBLE_CONFIRMATION = "DOUBLE_CONFIRMATION" } /** @enumType */ type OptInLevelWithLiterals = OptInLevel | 'UNKNOWN' | 'SINGLE_CONFIRMATION' | 'DOUBLE_CONFIRMATION'; declare enum FormFieldContactInfoContactField { /** First name. */ FIRST_NAME = "FIRST_NAME", /** CLast name. */ LAST_NAME = "LAST_NAME", /** Company name. */ COMPANY = "COMPANY", /** Job position or title. */ POSITION = "POSITION", /** Email address. */ EMAIL = "EMAIL", /** Phone number. */ PHONE = "PHONE", /** Physical address. */ ADDRESS = "ADDRESS", /** Birth date. */ BIRTHDATE = "BIRTHDATE", /** Custom field. */ CUSTOM_FIELD = "CUSTOM_FIELD", /** Subscription status. */ SUBSCRIPTION = "SUBSCRIPTION", /** VAT identification number. */ VAT_ID = "VAT_ID" } /** @enumType */ type FormFieldContactInfoContactFieldWithLiterals = FormFieldContactInfoContactField | 'FIRST_NAME' | 'LAST_NAME' | 'COMPANY' | 'POSITION' | 'EMAIL' | 'PHONE' | 'ADDRESS' | 'BIRTHDATE' | 'CUSTOM_FIELD' | 'SUBSCRIPTION' | 'VAT_ID'; interface FormFieldContactInfoEmailInfo { /** Email tag. */ tag?: FormFieldContactInfoEmailInfoTagWithLiterals; } interface FormFieldContactInfoPhoneInfo { /** Phone tag. */ tag?: FormFieldContactInfoPhoneInfoTagWithLiterals; } interface FormFieldContactInfoAddressInfo { /** Address tag. */ tag?: AddressInfoTagWithLiterals; } interface FormFieldContactInfoCustomFieldInfo { /** * Custom field key. * @minLength 1 * @maxLength 500 */ key?: string; } interface FormFieldContactInfoSubscriptionInfo { /** * Subscription consent opt-in level. * Default: `SINGLE_CONFIRMATION` */ optInLevel?: OptInLevelWithLiterals; /** * Subscription channels. * When not specified, defaults to `EMAIL`. * @maxSize 2 */ subscriptionChannels?: SubscriptionChannelWithLiterals[]; } interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface NestedForm { /** * Targets which have this form. * @maxSize 10 * @maxLength 200 */ targets?: string[]; /** Nested form. */ form?: Form; } interface LimitationRule { /** Limitation by submission count, disables form when a set amount of submissions is reached. */ maxAllowedSubmissions?: number | null; /** Limitation by submission date, disables form when a set date and time is reached. */ dateTimeDeadline?: Date | null; /** * Limitation per user submission count, disables form when a set amount of submissions per user is reached. * @min 1 */ submissionLimitPerUser?: number | null; } declare enum SpamFilterProtectionLevel { /** Unknown spam filter protection level. */ UNKNOWN = "UNKNOWN", /** No spam filtering. All submissions are accepted without screening. */ NONE = "NONE", /** Basic spam filtering. Provides minimal protection against obvious spam and the form is open to a high risk of spam submissions. */ BASIC = "BASIC", /** Advanced spam filtering. Provides comprehensive protection with intelligent screening and the form is open to a low risk of spam submissions. */ ADVANCED = "ADVANCED" } /** @enumType */ type SpamFilterProtectionLevelWithLiterals = SpamFilterProtectionLevel | 'UNKNOWN' | 'NONE' | 'BASIC' | 'ADVANCED'; interface RequiredIndicatorProperties { /** Type of visual indicator used to mark required fields. */ requiredIndicator?: RequiredIndicatorWithLiterals; /** Position where the required indicator appears relative to the field title. */ requiredIndicatorPlacement?: RequiredIndicatorPlacementWithLiterals; } declare enum RequiredIndicator { /** Display an asterisk (*) symbol to indicate required fields. */ ASTERISK = "ASTERISK", /** Display the text "Required" to indicate required fields. */ TEXT = "TEXT", /** No visual indicator is shown for required fields. */ NONE = "NONE" } /** @enumType */ type RequiredIndicatorWithLiterals = RequiredIndicator | 'ASTERISK' | 'TEXT' | 'NONE'; declare enum RequiredIndicatorPlacement { /** Place the required indicator after the field title. */ AFTER_FIELD_TITLE = "AFTER_FIELD_TITLE", /** Place the required indicator before the field title. */ BEFORE_FIELD_TITLE = "BEFORE_FIELD_TITLE" } /** @enumType */ type RequiredIndicatorPlacementWithLiterals = RequiredIndicatorPlacement | 'AFTER_FIELD_TITLE' | 'BEFORE_FIELD_TITLE'; interface SubmitSettings extends SubmitSettingsSubmitSuccessActionOptionsOneOf { /** Configuration for displaying a thank you message after submission. */ thankYouMessageOptions?: ThankYouMessageOptions; /** Configuration for redirecting submitters to a URL after submission. */ redirectOptions?: RedirectOptions; /** Configuration for displaying a popup after submission. */ popupOptions?: PopupOptions; /** Action that's triggered after a form is successfully submitted. */ submitSuccessAction?: SubmitSuccessActionWithLiterals; } /** @oneof */ interface SubmitSettingsSubmitSuccessActionOptionsOneOf { /** Configuration for displaying a thank you message after submission. */ thankYouMessageOptions?: ThankYouMessageOptions; /** Configuration for redirecting submitters to a URL after submission. */ redirectOptions?: RedirectOptions; /** Configuration for displaying a popup after submission. */ popupOptions?: PopupOptions; } declare enum Target { /** Unknown target behavior. */ UNKNOWN_TARGET = "UNKNOWN_TARGET", /** Open the URL in the same browser tab, replacing the current page. */ SELF = "SELF", /** Open the URL in a new browser tab. */ BLANK = "BLANK" } /** @enumType */ type TargetWithLiterals = Target | 'UNKNOWN_TARGET' | 'SELF' | 'BLANK'; declare enum SubmitSuccessAction { /** No action is taken after form submission. */ NO_ACTION = "NO_ACTION", /** Display a thank you message after form submission. */ THANK_YOU_MESSAGE = "THANK_YOU_MESSAGE", /** Redirect the user to a specified URL after form submission. */ REDIRECT = "REDIRECT", /** Display a popup after form submission. */ POPUP = "POPUP" } /** @enumType */ type SubmitSuccessActionWithLiterals = SubmitSuccessAction | 'NO_ACTION' | 'THANK_YOU_MESSAGE' | 'REDIRECT' | 'POPUP'; interface ThankYouMessageOptions { /** * Duration in seconds before the thank you message automatically disappears. * If set to 0, the message remains visible until manually dismissed. */ durationInSeconds?: number | null; /** Rich content message displayed to users after successful form submission. */ richContent?: RichContent; } interface RedirectOptions { /** * URL to which the user should be redirected after successfully submitting the form. * @maxLength 2000 */ redirectUrl?: string | null; /** How the redirect URL should be opened in the browser. */ target?: TargetWithLiterals; } interface PopupOptions { /** * ID of the site popup to open after successful form submission. * @minLength 1 * @maxLength 100 */ popupId?: string; } interface FieldGroup { /** * Id of group, on layout * @format GUID */ id?: string; /** * Label of group * @maxLength 350 */ label?: string | null; } interface Rule { /** * Rule ID. * @format GUID * @immutable */ id?: string; /** * Conditional expression that determines when this rule should be applied. * The overrides defined in this rule are applied when this expression evaluates to true. */ expression?: ConditionNode; /** * Form modifications that are applied when the rule expression evaluates to true. * Each override specifies how a form element should be changed. * @maxSize 500 */ overrides?: RuleFormOverride[]; /** * Human-readable name for the rule. * @maxLength 200 */ name?: string | null; /** * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities * @immutable */ namespaceRule?: boolean | null; } /** Enum for different types of field properties that can be modified by rules. */ declare enum ChangeableProperty { /** Required property type. */ REQUIRED = "REQUIRED", /** Hidden property type. */ HIDDEN = "HIDDEN", /** Allowed values property type. */ ALLOWED_VALUES = "ALLOWED_VALUES" } /** @enumType */ type ChangeablePropertyWithLiterals = ChangeableProperty | 'REQUIRED' | 'HIDDEN' | 'ALLOWED_VALUES'; interface RequiredOptions { /** Whether the field should be required. */ required?: boolean; } interface HiddenOptions { /** Whether the field should be hidden. */ hidden?: boolean; } interface AllowedValuesOptions { /** * List of values that are allowed for the field when this rule is active. * Restricts user input to only these predefined options. * @maxSize 300 */ allowedValues?: any[]; } declare enum OverrideEntityTypeEnumOverrideEntityType { /** Override applies to a form field. */ FIELD = "FIELD" } /** @enumType */ type OverrideEntityTypeEnumOverrideEntityTypeWithLiterals = OverrideEntityTypeEnumOverrideEntityType | 'FIELD'; interface FieldOverride extends FieldOverridePropertyTypeOptionsOneOf { /** Configuration for changing the required property of a field. */ requiredOptions?: RequiredOptions; /** Configuration for changing the visibility property of a field. */ hiddenOptions?: HiddenOptions; /** Configuration for changing the allowed values of a field. */ allowedValuesOptions?: AllowedValuesOptions; /** * ID of the field to be modified by this override. * @immutable * @format GUID */ fieldId?: string; /** The new value for the field property that will be set when the rule conditions are met. */ propertyType?: ChangeablePropertyWithLiterals; } /** @oneof */ interface FieldOverridePropertyTypeOptionsOneOf { /** Configuration for changing the required property of a field. */ requiredOptions?: RequiredOptions; /** Configuration for changing the visibility property of a field. */ hiddenOptions?: HiddenOptions; /** Configuration for changing the allowed values of a field. */ allowedValuesOptions?: AllowedValuesOptions; } interface ConditionNode extends ConditionNodeNodeOneOf { /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */ and?: AndCondition; /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */ or?: OrCondition; /** Single condition to evaluate. */ condition?: Condition; } /** @oneof */ interface ConditionNodeNodeOneOf { /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */ and?: AndCondition; /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */ or?: OrCondition; /** Single condition to evaluate. */ condition?: Condition; } interface AndCondition { /** * List of conditions that must all evaluate to true. * @minSize 1 * @maxSize 400 */ conditions?: ConditionNode[]; } interface OrCondition { /** * List of conditions where at least 1 must evaluate to true. * @minSize 1 * @maxSize 400 */ conditions?: ConditionNode[]; } interface Condition { /** * Human readable identifier used to reference a field. * Supports dot notation for nested properties. For example, `"address.city"`. * @maxLength 100 */ target?: string; /** Comparison operator to use for evaluating the condition. */ operator?: OperatorWithLiterals; /** Value to compare against the value in the target field. */ value?: any; } declare enum Operator { /** Specified value equals the value in the target field. */ EQUAL = "EQUAL", /** Specified value doesn't equal the value in the target field. */ NOT_EQUAL = "NOT_EQUAL", /** Target field is empty or has no value. */ EMPTY = "EMPTY", /** Target field isn't empty and has a value. */ NOT_EMPTY = "NOT_EMPTY", /** String value in the target field contains the specified substring. */ CONTAINS = "CONTAINS", /** String value in the target field doesn't contain the specified substring. */ NOT_CONTAINS = "NOT_CONTAINS", /** Numeric value in the target field is less than the specified value. */ LESS_THAN = "LESS_THAN", /** Numeric value in the target field is less than or equal to the specified value. */ LESS_THAN_OR_EQUALS = "LESS_THAN_OR_EQUALS", /** Numeric value in the target field is greater than the specified value. */ GREATER_THAN = "GREATER_THAN", /** Numeric value in the target field is greater than or equal to the specified value. */ GREATER_THAN_OR_EQUALS = "GREATER_THAN_OR_EQUALS", /** Date value in the target field is before the specified date. */ BEFORE = "BEFORE", /** Date value in the target field is before or equal to the specified date. */ BEFORE_OR_EQUAL = "BEFORE_OR_EQUAL", /** Date value in the target field is after the specified date. */ AFTER = "AFTER", /** Date value in the target field is after or equal to the specified date. */ AFTER_OR_EQUAL = "AFTER_OR_EQUAL", /** Value in the target field falls within the specified range. */ BETWEEN = "BETWEEN", /** Value in the target field matches any of the specified values. */ ANY = "ANY", /** Array value in the target field exactly equals the specified array. */ ARRAY_EQUAL = "ARRAY_EQUAL", /** Array value in the target field doesn't equal the specified array. */ ARRAY_NOT_EQUAL = "ARRAY_NOT_EQUAL", /** Checkbox or boolean field value in the target field is checked. */ CHECKED = "CHECKED", /** Checkbox or boolean field value in the target field isn't checked. */ NOT_CHECKED = "NOT_CHECKED", /** Value in the target field is included in the specified list. */ IN = "IN", /** Value in the target field isn't included in the specified list. */ NOT_IN = "NOT_IN", /** Date value in the target field is older than the specified time period. */ IS_DATE_OLDER_THAN = "IS_DATE_OLDER_THAN", /** Date value in the target field is older than or equal to the specified time period. */ IS_DATE_OLDER_THAN_OR_EQUAL = "IS_DATE_OLDER_THAN_OR_EQUAL", /** Date value in the target field is newer than the specified time period. */ IS_DATE_NEWER_THAN = "IS_DATE_NEWER_THAN", /** Date value in the target field is newer than or equal to the specified time period. */ IS_DATE_NEWER_THAN_OR_EQUAL = "IS_DATE_NEWER_THAN_OR_EQUAL" } /** @enumType */ type OperatorWithLiterals = Operator | 'EQUAL' | 'NOT_EQUAL' | 'EMPTY' | 'NOT_EMPTY' | 'CONTAINS' | 'NOT_CONTAINS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUALS' | 'BEFORE' | 'BEFORE_OR_EQUAL' | 'AFTER' | 'AFTER_OR_EQUAL' | 'BETWEEN' | 'ANY' | 'ARRAY_EQUAL' | 'ARRAY_NOT_EQUAL' | 'CHECKED' | 'NOT_CHECKED' | 'IN' | 'NOT_IN' | 'IS_DATE_OLDER_THAN' | 'IS_DATE_OLDER_THAN_OR_EQUAL' | 'IS_DATE_NEWER_THAN' | 'IS_DATE_NEWER_THAN_OR_EQUAL'; interface RuleFormOverride extends RuleFormOverrideEntityTypeOptionsOneOf { /** Field override settings. */ fieldOptions?: FieldOverride; /** * Type of form element being modified by this override. * @immutable */ entityType?: OverrideEntityTypeEnumOverrideEntityTypeWithLiterals; } /** @oneof */ interface RuleFormOverrideEntityTypeOptionsOneOf { /** Field override settings. */ fieldOptions?: FieldOverride; } /** * Common object for tags. * Should be use as in this example: * message Foo { * option (.wix.api.decomposite_of) = "wix.common.tags.Foo"; * string id = 1; * ... * Tags tags = 5 * } * * example of taggable entity * { * id: "123" * tags: { * tags: { * tag_ids:["11","22"] * }, * private_tags: { * tag_ids: ["33", "44"] * } * } * } */ interface Tags { /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */ privateTags?: TagList; /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */ tags?: TagList; } interface TagList { /** * List of tag IDs * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } interface QuizSettings extends QuizSettingsPassingCriteriaOneOf, QuizSettingsResultsDisplayOptionsOneOf { /** Score required to pass the quiz (in points). */ passingScorePoints?: number; /** * Score required to pass the quiz as a percentage (0-100). * @max 100 */ passingScorePercentage?: number; /** Configuration for displaying only the pass/fail message. */ passingStatusOptions?: PassFailMessages; /** Configuration for displaying both the score and pass/fail message. */ scoreAndPassingStatusOptions?: PassFailMessages; /** Confirmation message text. */ message?: RichContent; /** * How to display quiz results in the confirmation page. * Default: `DO_NOT_DISPLAY` */ resultsDisplay?: ResultsDisplayWithLiterals; } /** @oneof */ interface QuizSettingsPassingCriteriaOneOf { /** Score required to pass the quiz (in points). */ passingScorePoints?: number; /** * Score required to pass the quiz as a percentage (0-100). * @max 100 */ passingScorePercentage?: number; } /** @oneof */ interface QuizSettingsResultsDisplayOptionsOneOf { /** Configuration for displaying only the pass/fail message. */ passingStatusOptions?: PassFailMessages; /** Configuration for displaying both the score and pass/fail message. */ scoreAndPassingStatusOptions?: PassFailMessages; } declare enum ResultsDisplay { /** Do not show quiz score and passing status. */ DO_NOT_DISPLAY = "DO_NOT_DISPLAY", /** Display only the user's score. */ SCORE = "SCORE", /** Display the pass or fail message based on the user's score. */ PASSING_STATUS = "PASSING_STATUS", /** Display both the score and pass/fail message. */ SCORE_AND_PASSING_STATUS = "SCORE_AND_PASSING_STATUS" } /** @enumType */ type ResultsDisplayWithLiterals = ResultsDisplay | 'DO_NOT_DISPLAY' | 'SCORE' | 'PASSING_STATUS' | 'SCORE_AND_PASSING_STATUS'; interface PassFailMessages { /** Message displayed when the user passes the quiz. */ passMessage?: RichContent; /** Message displayed when the user fails the quiz. */ failMessage?: RichContent; } declare enum ContactAutofill { /** Use site member data to autofill contact fields. */ MEMBER_DATA = "MEMBER_DATA", /** Use form input data to autofill contact fields. */ FORM_INPUT = "FORM_INPUT" } /** @enumType */ type ContactAutofillWithLiterals = ContactAutofill | 'MEMBER_DATA' | 'FORM_INPUT'; /** Controls who can read submissions of this form. */ declare enum SubmissionAccess { /** Unknown submission access. */ UNKNOWN_SUBMISSION_ACCESS = "UNKNOWN_SUBMISSION_ACCESS", /** Only users with `WIX_FORM.SUBMISSIONS_READ_ANY` permission. Default behavior. */ OWNER_AND_COLLABORATORS = "OWNER_AND_COLLABORATORS", /** Logged-in site members can read submissions. */ MEMBERS = "MEMBERS", /** Any site visitor with a valid Wix session can read submissions. */ PUBLIC = "PUBLIC" } /** @enumType */ type SubmissionAccessWithLiterals = SubmissionAccess | 'UNKNOWN_SUBMISSION_ACCESS' | 'OWNER_AND_COLLABORATORS' | 'MEMBERS' | 'PUBLIC'; interface CreateInteractiveFormSessionRequest { /** * Form ID to create an interactive session for. * @format GUID */ formId: string; /** * Pre-filled values to apply to the form, to initialize the session with existing data. * Field keys must match the form schema field names. * For example: `{"firstName": "John", "email": "john@example.com", "age": 25}`. * These values are merged with any data extracted during the conversation. */ currentValues?: Record | null; /** * Whether the session should run in dry run mode for testing and preview purposes. * In dry run mode, the full conversational flow works normally and form data is extracted, * but no actual form submission occurs. * @immutable */ dryRun?: boolean; /** Current date-time of api client. */ clientTime?: ClientTime; } interface ClientTime { /** * Current date and time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format. * For example, `2023-10-01T12:00:00Z`. * @minLength 1 * @maxLength 200 */ currentTime?: string | null; /** * Browser's timezone identifier for localizing date and time values in IANA timezone format (for example, `Europe/Vilnius`, `America/New_York`). * @minLength 1 * @maxLength 50 */ timeZone?: string | null; } interface CreateInteractiveFormSessionResponse { /** Created interactive form session. */ interactiveFormSession?: InteractiveFormSession; /** AI assistant response chunks for the interactive form session. */ responseChunks?: InteractiveFormSessionResponseChunk[]; } /** * AI assistant response chunk, containing different types of conversational content. * Chunks are delivered sequentially and must be processed in the order they are received to build the complete * conversation interface. Each chunk type requires different UI handling. */ interface InteractiveFormSessionResponseChunk extends InteractiveFormSessionResponseChunkOfOneOf { /** Conversational text message for display. */ textDetails?: TextDetails; /** Structured data extracted from user input and mapped to specific form fields. */ textDataDetails?: TextDataDetails; /** Selector for selecting multiple options from a predefined list. */ multiSelectInputDetails?: MultiSelectInputDetails; /** Selector for numeric input with optional range and validation constraints. */ numberInputDetails?: NumberInputDetails; /** Visual separator element for organizing conversation flow. */ separatorDetails?: SeparatorDetails; /** Selector for selecting a single option from a predefined list. */ singleSelectInputDetails?: SingleSelectInputDetails; /** Error information when processing fails or validation errors occur. */ errorDetails?: ErrorDetails; /** Form submission confirmation including a form submission ID. A checkout ID will also be returned here if the user selected products for purchase. */ submissionDetails?: SubmissionDetails; /** Important contextual information that may influence data extraction or user decisions. */ importantTextDetails?: ImportantTextDetails; /** Diagnostic information for development, debugging, and performance monitoring. */ debugDetails?: DebugDetails; /** Stream completion signal indicating no more chunks will be sent in this response. */ endOfResponseDetails?: EndOfResponseDetails; /** Input for file upload with field targeting. Not supported. */ fileUploadDetails?: FileUploadDetails; /** Input for digital signature capture with field targeting. Not supported. */ signatureDetails?: SignatureDetails; /** Response chunk type, that determines how the content should be processed and displayed. */ chunkType?: ChunkTypeWithLiterals; /** * Indicates which portion of the original user input was meaningful for data extraction. * Can be used to highlight relevant parts of the user's message in the UI. */ meaningfulInput?: MeaningfulInput; } /** @oneof */ interface InteractiveFormSessionResponseChunkOfOneOf { /** Conversational text message for display. */ textDetails?: TextDetails; /** Structured data extracted from user input and mapped to specific form fields. */ textDataDetails?: TextDataDetails; /** Selector for selecting multiple options from a predefined list. */ multiSelectInputDetails?: MultiSelectInputDetails; /** Selector for numeric input with optional range and validation constraints. */ numberInputDetails?: NumberInputDetails; /** Visual separator element for organizing conversation flow. */ separatorDetails?: SeparatorDetails; /** Selector for selecting a single option from a predefined list. */ singleSelectInputDetails?: SingleSelectInputDetails; /** Error information when processing fails or validation errors occur. */ errorDetails?: ErrorDetails; /** Form submission confirmation including a form submission ID. A checkout ID will also be returned here if the user selected products for purchase. */ submissionDetails?: SubmissionDetails; /** Important contextual information that may influence data extraction or user decisions. */ importantTextDetails?: ImportantTextDetails; /** Diagnostic information for development, debugging, and performance monitoring. */ debugDetails?: DebugDetails; /** Stream completion signal indicating no more chunks will be sent in this response. */ endOfResponseDetails?: EndOfResponseDetails; /** Input for file upload with field targeting. Not supported. */ fileUploadDetails?: FileUploadDetails; /** Input for digital signature capture with field targeting. Not supported. */ signatureDetails?: SignatureDetails; } declare enum ChunkType { /** Text message for display to the user. */ TEXT = "TEXT", /** Structured data extracted from user input and mapped to form fields. */ TEXT_DATA = "TEXT_DATA", /** Selector for selecting multiple options from a list. */ MULTI_SELECT_INPUT = "MULTI_SELECT_INPUT", /** Selector for numeric input with optional validation. */ NUMBER_INPUT = "NUMBER_INPUT", /** Visual separator element such as paragraph breaks. */ SEPARATOR = "SEPARATOR", /** Selector for selecting one option from a list. */ SINGLE_SELECT_INPUT = "SINGLE_SELECT_INPUT", /** Error message when processing fails or validation errors occur. */ ERROR = "ERROR", /** Form submission confirmation including a submission ID. */ SUBMISSION = "SUBMISSION", /** Highlighted information that may influence form data extraction. */ IMPORTANT_TEXT = "IMPORTANT_TEXT", /** Diagnostic information for troubleshooting and development. */ DEBUG = "DEBUG", /** Signals the completion of a response stream. */ END_OF_RESPONSE = "END_OF_RESPONSE", /** Input for file upload. Not supported. */ FILE_UPLOAD = "FILE_UPLOAD", /** Input for digital signature capture. Not supported. */ SIGNATURE = "SIGNATURE" } /** @enumType */ type ChunkTypeWithLiterals = ChunkType | 'TEXT' | 'TEXT_DATA' | 'MULTI_SELECT_INPUT' | 'NUMBER_INPUT' | 'SEPARATOR' | 'SINGLE_SELECT_INPUT' | 'ERROR' | 'SUBMISSION' | 'IMPORTANT_TEXT' | 'DEBUG' | 'END_OF_RESPONSE' | 'FILE_UPLOAD' | 'SIGNATURE'; /** Conversational text content from the AI assistant. */ interface TextDetails { /** * Text content to display. * @minLength 1 * @maxLength 10000 */ text?: string; /** Text formatting style for visual presentation. */ style?: StyleWithLiterals; } declare enum Style { /** Regular conversational text. */ NORMAL = "NORMAL", /** Bold text for emphasis. */ BOLD = "BOLD" } /** @enumType */ type StyleWithLiterals = Style | 'NORMAL' | 'BOLD'; /** Structured data extracted from user input and mapped to form fields. */ interface TextDataDetails { /** * Form field identifier that this extracted data maps to. * Matches a field name in the form schema. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; /** * Human-readable text representation of the extracted data to display. * @minLength 1 * @maxLength 10000 */ text?: string; /** * Structured value for form submission (for example, boolean `true`/`false`, number, or string). * This is the actual data value that will be submitted with the form. */ value?: any; /** * User-friendly display representation of the value (for example, "Yes"/"No" for boolean, "25 years old" for age). * Use this to display confirmation of what was extracted from the user's input. * @minLength 1 * @maxLength 10000 */ displayValue?: string; } /** Interactive prompt for selecting multiple options from a predefined list. */ interface MultiSelectInputDetails { /** * Form field identifier for the multi-select input. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; /** * Options available for selection, when relevant. Users can choose multiple options from this list. * @minSize 1 * @maxSize 100 */ options?: Option[]; /** When present, allows users to provide custom values not in the predefined options list. */ allowedCustomValue?: CustomValue; } /** Selection option for input prompts. */ interface Option { /** * Value to be submitted when this option is selected. * This is the technical value used in form processing and submission. * @minLength 1 * @maxLength 10000 */ value?: string; /** * Human-readable label for display for this option. * @minLength 1 * @maxLength 10000 */ label?: string; } /** Custom value configuration for input prompts. */ interface CustomValue { /** * Description of the expected custom value format or content. * Displayed to guide users when they choose to provide a custom option. * @maxLength 10000 */ description?: string; } /** Interactive prompt for numeric input with validation constraints. */ interface NumberInputDetails { /** * Form field identifier for the numeric input. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; /** Minimum and maximum value constraints for the numeric input. */ rangeLimit?: NumberRangeLimit; /** * When provided, restricts input to multiples of this value. * For example, `2.5` would allow 2.5, 5.0, 7.5, and so on. */ multipleOf?: number | null; } /** Numeric range constraints for number input validation. */ interface NumberRangeLimit extends NumberRangeLimitEndOneOf { /** Maximum allowed value (inclusive). */ maxInclusiveValue?: number | null; /** Maximum allowed value (exclusive). */ maxExclusiveValue?: number | null; /** Minimum allowed value (inclusive). */ minInclusiveValue?: number | null; } /** @oneof */ interface NumberRangeLimitEndOneOf { /** Maximum allowed value (inclusive). */ maxInclusiveValue?: number | null; /** Maximum allowed value (exclusive). */ maxExclusiveValue?: number | null; } /** Visual separator element for organizing conversation flow. */ interface SeparatorDetails { /** Type of visual separator to display in the conversation flow. */ type?: TypeWithLiterals; } declare enum Type { /** Paragraph break for visual content separation. */ PARAGRAPH = "PARAGRAPH" } /** @enumType */ type TypeWithLiterals = Type | 'PARAGRAPH'; /** Selector for selecting a single option from a predefined list. */ interface SingleSelectInputDetails { /** * Form field identifier for the single-select input. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; /** * Options available for selection. Users can choose only one option from this list. * @minSize 1 * @maxSize 100 */ options?: Option[]; /** When present, allows users to provide a custom value not in the predefined options list. */ allowedCustomValue?: CustomValue; } /** Error information when processing fails or validation errors occur. */ interface ErrorDetails { /** * Error message detailing what went wrong during processing. * For display to the user when the AI cannot process their input or when validation fails. * @minLength 1 * @maxLength 1000 */ messageText?: string; } /** Form submission confirmation containing submission information. */ interface SubmissionDetails { /** * Form submission ID created when the form is successfully completed and submitted. * @format GUID */ submissionId?: string; /** * Wix eCommerce checkout ID when the form includes payment processing. * Only present for forms that have payment fields or are connected to eCommerce flows. * @format GUID * @readonly */ checkoutId?: string | null; } /** Important contextual information that may influence data extraction or user decisions. */ interface ImportantTextDetails { /** * Form field identifier that this important information relates to. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; /** * Important contextual information to highlight. * This might include validation requirements, format expectations, or clarifying questions. * @minLength 1 * @maxLength 10000 */ text?: string; } /** Diagnostic information for development and troubleshooting. */ interface DebugDetails { /** * Diagnostic data for development and troubleshooting. * Contains information such as AI tools called, processing times, and internal state. */ data?: Record | null; } /** Stream completion signal indicating the end of a response stream. */ interface EndOfResponseDetails { /** * Whether the response stream completed successfully. * When `false`, there may have been processing errors or interruptions. */ success?: boolean; } /** Interactive prompt for file upload input. */ interface FileUploadDetails { /** * Form field identifier for the file upload input. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; } /** Interactive prompt for digital signature capture. */ interface SignatureDetails { /** * Form field identifier for the digital signature input. * @minLength 1 * @maxLength 200 */ fieldTarget?: string; } /** Indicates which portion of user input was meaningful for data extraction. */ interface MeaningfulInput { /** * Character position (0-indexed) where the meaningful portion of user input begins. * @max 10000 */ startOffset?: number; /** * Length in characters of the meaningful portion of user input. * Use this with `startOffset` to highlight the relevant text that was processed for data extraction. * @max 10000 */ length?: number; } interface CreateInteractiveFormSessionStreamedRequest { /** * Form ID to create an interactive session for. * @format GUID */ formId: string; /** * Pre-filled values to apply to the form, to initialize the session with existing data. * Field keys must match the form schema field names. * For example: `{"firstName": "John", "email": "john@example.com", "age": 25}`. * These values are merged with any data extracted during the conversation. */ currentValues?: Record | null; /** * Whether the session should run in dry run mode when no actual form submission occurs. * In dry run mode, the full conversational flow works normally and form data is extracted, * but no actual form submission occurs. * * Default: `false` * @immutable */ dryRun?: boolean; /** Caller's local date and time. */ clientTime?: ClientTime; } interface CreateInteractiveFormSessionStreamedResponse { /** * AI assistant response chunk, streamed in real-time. * Process each chunk as it arrives to provide progressive user feedback. */ responseChunk?: InteractiveFormSessionResponseChunk; /** * Information about the created interactive form session. * Only included in the first chunk of the stream to provide session details immediately. */ interactiveFormSession?: InteractiveFormSession; } interface SendUserMessageRequest { /** * Interactive form session ID to send the message to. * @format GUID */ interactiveFormSessionId: string; /** * User's natural language input. * The AI assistant analyzes this text to extract form field data and determine the next conversation step. * Maximum length: 10,000 characters. * @maxLength 10000 */ input?: string | null; /** * Form field values to apply to the session. * Use this to update form data from other sources while the conversation is ongoing. * These values override any existing data for the same field keys. * For example: `{"lastName": "Smith", "phoneNumber": "+1234567890"}`. */ currentValues?: Record | null; } interface SendUserMessageResponse { /** Updated interactive form session after the user input is processed. */ interactiveFormSession?: InteractiveFormSession; /** * AI assistant response chunks generated from processing the user's message. * These can include extracted data, follow-up questions, input selectors, or submission confirmation. */ responseChunks?: InteractiveFormSessionResponseChunk[]; } interface SendUserMessageStreamedRequest { /** * Interactive form session ID to send the message to. * @format GUID */ interactiveFormSessionId: string; /** * User's natural language input to process. * The AI assistant analyzes this text to extract form field data and determine the next conversation step. * @maxLength 10000 */ input?: string | null; /** * Form field values to apply to the session. * Use this to update form data from other sources while the conversation is ongoing. * These values override any existing data for the same field keys. * For example: `{"lastName": "Smith", "phoneNumber": "+1234567890"}`. */ currentValues?: Record | null; } interface SendUserMessageStreamedResponse { /** AI assistant response chunk streamed in real-time as the message is processed. */ responseChunk?: InteractiveFormSessionResponseChunk; /** * Updated interactive form session information. * Session data, including session ID and form ID. Returned in the first chunk of the streamed response. */ interactiveFormSession?: InteractiveFormSession; } interface ConverseRequest extends ConverseRequestRequestOneOf { /** Get state request */ getStateRequest?: GetStateRequest; /** Call tools request */ callToolsRequest?: CallToolsRequest; /** Relay assistant message request */ relayAssistantMessage?: RelayAssistantMessageRequest; /** Usage request */ usageRequest?: UsageRequest; /** * Request ID used for mapping the request to the response * @format GUID */ requestId?: string; } /** @oneof */ interface ConverseRequestRequestOneOf { /** Get state request */ getStateRequest?: GetStateRequest; /** Call tools request */ callToolsRequest?: CallToolsRequest; /** Relay assistant message request */ relayAssistantMessage?: RelayAssistantMessageRequest; /** Usage request */ usageRequest?: UsageRequest; } interface GetStateRequest { /** * Interactive form session ID * @format GUID */ interactiveFormSessionId?: string; } interface CallToolsRequest { /** * Tool calls to be executed * @maxSize 100 */ calls?: Call[]; /** * Interactive form session ID * @format GUID */ interactiveFormSessionId?: string; } interface Call { /** Tool call arguments */ args?: Record | null; /** * Tool name to call * @minLength 1 * @maxLength 100 */ toolName?: string; /** * Tool call ID * @minLength 1 * @maxLength 100 */ callId?: string; } interface RelayAssistantMessageRequest { /** * Assistant message text * @minLength 1 * @maxLength 10000 */ text?: string; /** * Interactive form session ID * @format GUID */ interactiveFormSessionId?: string; } interface UsageRequest { /** Microcents spent for the request */ microcentsSpent?: string; /** * Interactive form session ID * @format GUID */ interactiveFormSessionId?: string; /** * Form ID * @format GUID */ formId?: string; /** Usage details for the request */ usage?: Usage; } interface Usage { /** * Model name used for the session * @minLength 1 * @maxLength 100 */ model?: string | null; /** The total number of tokens in the Response including input and output text and audio tokens */ totalTokens?: string; /** The number of input tokens used in the Response, including text and audio tokens. */ inputTokens?: string; /** The number of output tokens sent in the Response, including text and audio tokens. */ outputTokens?: string; /** Token details */ tokenDetails?: Record | null; } interface ConverseResponse extends ConverseResponseResponseOneOf { /** Get state response */ getStateResponse?: GetStateResponse; /** Call tools response */ callToolsResponse?: CallToolsResponse; /** Assistant response chunk */ responseChunk?: InteractiveFormSessionResponseChunk; /** Response that signals that the request has been processed */ acknowledgmentResponse?: AcknowledgmentResponse; /** * Request ID used for mapping the request to the response * @format GUID */ requestId?: string; } /** @oneof */ interface ConverseResponseResponseOneOf { /** Get state response */ getStateResponse?: GetStateResponse; /** Call tools response */ callToolsResponse?: CallToolsResponse; /** Assistant response chunk */ responseChunk?: InteractiveFormSessionResponseChunk; /** Response that signals that the request has been processed */ acknowledgmentResponse?: AcknowledgmentResponse; } interface GetStateResponse { /** * Available tools for the session * @maxSize 100 */ tools?: Tool[]; /** * Context messages for the session * @maxSize 10000 */ contextMessages?: ContextMessage[]; /** * System prompt text * @minLength 1 * @maxLength 10000 */ systemPrompt?: string; /** * Form ID for the session * @format GUID */ formId?: string; /** * Submission state message * @maxLength 10000 */ submissionStateMessage?: string | null; } interface Tool { /** * Tool type identifier * @minLength 1 * @maxLength 10000 */ type?: string; /** * Tool name * @minLength 1 * @maxLength 10000 */ name?: string | null; /** * Tool description * @minLength 1 * @maxLength 10000 */ description?: string | null; /** Tool parameters */ parameters?: Record | null; } interface ContextMessage extends ContextMessageOptionsOneOf { /** User options */ userOptions?: UserOptions; /** Assistant options */ assistantOptions?: AssistantOptions; /** Function call options */ functionCallOptions?: FunctionCallOptions; /** Function call output options */ functionCallOutputOptions?: FunctionCallOutputOptions; /** Developer options */ developerOptions?: DeveloperOptions; /** Role of the message sender */ role?: RoleWithLiterals; } /** @oneof */ interface ContextMessageOptionsOneOf { /** User options */ userOptions?: UserOptions; /** Assistant options */ assistantOptions?: AssistantOptions; /** Function call options */ functionCallOptions?: FunctionCallOptions; /** Function call output options */ functionCallOutputOptions?: FunctionCallOutputOptions; /** Developer options */ developerOptions?: DeveloperOptions; } declare enum Role { /** Message from the user. */ USER = "USER", /** Message from the AI assistant. */ ASSISTANT = "ASSISTANT", /** Function call message. */ FUNCTION_CALL = "FUNCTION_CALL", /** Function call output message. */ FUNCTION_CALL_OUTPUT = "FUNCTION_CALL_OUTPUT", /** Message from the developer/system. */ DEVELOPER = "DEVELOPER" } /** @enumType */ type RoleWithLiterals = Role | 'USER' | 'ASSISTANT' | 'FUNCTION_CALL' | 'FUNCTION_CALL_OUTPUT' | 'DEVELOPER'; interface UserOptions { /** * User message content * @minLength 1 * @maxLength 10000 */ content?: string; } interface AssistantOptions { /** * Assistant message content * @minLength 1 * @maxLength 10000 */ content?: string; } interface FunctionCallOptions { /** * Call name * @minLength 1 * @maxLength 100 */ functionName?: string; /** Call arguments */ args?: Record | null; /** * Call ID * @minLength 1 * @maxLength 100 */ callId?: string; } interface FunctionCallOutputOptions { /** Call output data */ output?: Record | null; /** * Call ID * @minLength 1 * @maxLength 100 */ callId?: string; } interface DeveloperOptions { /** * Developer message content * @minLength 1 * @maxLength 10000 */ content?: string; } interface CallToolsResponse { /** * Tool call responses * @maxSize 100 */ responses?: Response[]; } interface Response { /** * Tool call ID * @minLength 1 * @maxLength 100 */ callId?: string; /** Tool call response data */ response?: Record | null; } interface AcknowledgmentResponse { /** Whether request processing was successful. */ success?: boolean; } interface OutputInteractiveFormSessionStreamedRequest { /** * Interactive form session id to output * @format GUID */ interactiveFormSessionId?: string; } interface OutputInteractiveFormSessionStreamedResponse { /** Interactive form session id */ interactiveFormSession?: InteractiveFormSession; /** Assistant response chunk for the session */ responseChunk?: InteractiveFormSessionResponseChunk; } /** Request to report a conversation for quality assurance. */ interface ReportConversationRequest { /** * Interactive form session ID to report. * @format GUID */ interactiveFormSessionId?: string; /** * Details about the issue or feedback. * @minLength 1 * @maxLength 10000 */ description?: string; /** * Viewer debug URL of the conversation * @format WEB_URL */ viewerDebugUrl?: string; } /** Response confirming conversation report submission. */ interface ReportConversationResponse { /** Whether the report was successfully created. */ success?: boolean | null; /** * Error message. * @maxLength 10000 */ errorMessage?: string | null; } /** Request to generate a natural language summary of a form. */ interface GenerateFormSummaryRequest { /** * Form object to generate a summary for. * Must include the form's fields and configuration. */ form: Form; } /** Response containing the generated form summary. */ interface GenerateFormSummaryResponse { /** * AI-generated natural language summary describing the form's structure, fields, and intended purpose. * Maximum 255 characters. * @maxLength 255 */ formSummary?: 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 { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } 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. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: 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; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } /** @docsIgnore */ type SendUserMessageApplicationErrors = { code?: 'EMPTY_REQUEST'; description?: string; data?: Record; }; /** @docsIgnore */ type SendUserMessageStreamedApplicationErrors = { code?: 'EMPTY_REQUEST'; description?: string; data?: Record; }; /** @docsIgnore */ type GenerateFormSummaryApplicationErrors = { code?: 'INVALID_FORM'; description?: string; data?: Record; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function createInteractiveFormSession(): __PublicMethodMetaInfo<'POST', {}, CreateInteractiveFormSessionRequest$1, CreateInteractiveFormSessionRequest, CreateInteractiveFormSessionResponse$1, CreateInteractiveFormSessionResponse>; declare function createInteractiveFormSessionStreamed(): __PublicMethodMetaInfo<'POST', {}, CreateInteractiveFormSessionStreamedRequest$1, CreateInteractiveFormSessionStreamedRequest, CreateInteractiveFormSessionStreamedResponse$1, CreateInteractiveFormSessionStreamedResponse>; declare function sendUserMessage(): __PublicMethodMetaInfo<'POST', { interactiveFormSessionId: string; }, SendUserMessageRequest$1, SendUserMessageRequest, SendUserMessageResponse$1, SendUserMessageResponse>; declare function sendUserMessageStreamed(): __PublicMethodMetaInfo<'POST', { interactiveFormSessionId: string; }, SendUserMessageStreamedRequest$1, SendUserMessageStreamedRequest, SendUserMessageStreamedResponse$1, SendUserMessageStreamedResponse>; declare function generateFormSummary(): __PublicMethodMetaInfo<'POST', {}, GenerateFormSummaryRequest$1, GenerateFormSummaryRequest, GenerateFormSummaryResponse$1, GenerateFormSummaryResponse>; export { type AccountInfo as AccountInfoOriginal, type AcknowledgmentResponse as AcknowledgmentResponseOriginal, type ActionEvent as ActionEventOriginal, type AddressComponentTypeOptionsOneOf as AddressComponentTypeOptionsOneOfOriginal, type AddressInfo as AddressInfoOriginal, AddressInfoTag as AddressInfoTagOriginal, type AddressInfoTagWithLiterals as AddressInfoTagWithLiteralsOriginal, type AddressLine2 as AddressLine2Original, type Address as AddressOriginal, Alignment as AlignmentOriginal, type AlignmentWithLiterals as AlignmentWithLiteralsOriginal, type AllowedValuesOptions as AllowedValuesOptionsOriginal, type AnchorData as AnchorDataOriginal, type AndCondition as AndConditionOriginal, type AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOfOriginal, type AppEmbedData as AppEmbedDataOriginal, AppType as AppTypeOriginal, type AppTypeWithLiterals as AppTypeWithLiteralsOriginal, type AppointmentFormatInfoOneOf as AppointmentFormatInfoOneOfOriginal, type Appointment as AppointmentOriginal, ArrayComponentType as ArrayComponentTypeOriginal, type ArrayComponentTypeWithLiterals as ArrayComponentTypeWithLiteralsOriginal, type ArrayErrorMessages as ArrayErrorMessagesOriginal, type ArrayItemsItemTypeOptionsOneOf as ArrayItemsItemTypeOptionsOneOfOriginal, type ArrayItems as ArrayItemsOriginal, type ArrayTypeArrayItemsItemsOneOf as ArrayTypeArrayItemsItemsOneOfOriginal, type ArrayTypeArrayItems as ArrayTypeArrayItemsOriginal, type ArrayType as ArrayTypeOriginal, AspectRatio as AspectRatioOriginal, type AspectRatioWithLiterals as AspectRatioWithLiteralsOriginal, type AssistantOptions as AssistantOptionsOriginal, type AudioData as AudioDataOriginal, type Availability as AvailabilityOriginal, type Backdrop as BackdropOriginal, BackdropType as BackdropTypeOriginal, type BackdropTypeWithLiterals as BackdropTypeWithLiteralsOriginal, type BackgroundGradient as BackgroundGradientOriginal, type BackgroundImage as BackgroundImageOriginal, type Background as BackgroundOriginal, BackgroundType as BackgroundTypeOriginal, type BackgroundTypeWithLiterals as BackgroundTypeWithLiteralsOriginal, type Banner as BannerOriginal, type BlockquoteData as BlockquoteDataOriginal, type BookingData as BookingDataOriginal, BooleanComponentType as BooleanComponentTypeOriginal, type BooleanComponentTypeWithLiterals as BooleanComponentTypeWithLiteralsOriginal, type BooleanErrorMessages as BooleanErrorMessagesOriginal, type BooleanType as BooleanTypeOriginal, type BorderColors as BorderColorsOriginal, type Border as BorderOriginal, type BorderWidths as BorderWidthsOriginal, type BreakPoint as BreakPointOriginal, type BulletedListData as BulletedListDataOriginal, type ButtonData as ButtonDataOriginal, ButtonDataType as ButtonDataTypeOriginal, type ButtonDataTypeWithLiterals as ButtonDataTypeWithLiteralsOriginal, type ButtonStyles as ButtonStylesOriginal, type Call as CallOriginal, type CallToolsRequest as CallToolsRequestOriginal, type CallToolsResponse as CallToolsResponseOriginal, type CaptionData as CaptionDataOriginal, type CardDataBackground as CardDataBackgroundOriginal, CardDataBackgroundType as CardDataBackgroundTypeOriginal, type CardDataBackgroundTypeWithLiterals as CardDataBackgroundTypeWithLiteralsOriginal, type CardData as CardDataOriginal, CardStylesAlignment as CardStylesAlignmentOriginal, type CardStylesAlignmentWithLiterals as CardStylesAlignmentWithLiteralsOriginal, type CardStyles as CardStylesOriginal, CardStylesType as CardStylesTypeOriginal, type CardStylesTypeWithLiterals as CardStylesTypeWithLiteralsOriginal, type CellStyle as CellStyleOriginal, ChangeableProperty as ChangeablePropertyOriginal, type ChangeablePropertyWithLiterals as ChangeablePropertyWithLiteralsOriginal, type CheckboxGroupOption as CheckboxGroupOptionOriginal, type CheckboxGroup as CheckboxGroupOriginal, type Checkbox as CheckboxOriginal, ChunkType as ChunkTypeOriginal, type ChunkTypeWithLiterals as ChunkTypeWithLiteralsOriginal, type ClientTime as ClientTimeOriginal, type CodeBlockData as CodeBlockDataOriginal, type CollapsibleListData as CollapsibleListDataOriginal, type ColorData as ColorDataOriginal, type Colors as ColorsOriginal, ColumnSize as ColumnSizeOriginal, type ColumnSizeWithLiterals as ColumnSizeWithLiteralsOriginal, ComponentType as ComponentTypeOriginal, type ComponentTypeWithLiterals as ComponentTypeWithLiteralsOriginal, type ComponentsTags as ComponentsTagsOriginal, type ConditionNodeNodeOneOf as ConditionNodeNodeOneOfOriginal, type ConditionNode as ConditionNodeOriginal, type Condition as ConditionOriginal, ConfirmationLevel as ConfirmationLevelOriginal, type ConfirmationLevelWithLiterals as ConfirmationLevelWithLiteralsOriginal, ContactAutofill as ContactAutofillOriginal, type ContactAutofillWithLiterals as ContactAutofillWithLiteralsOriginal, ContactField as ContactFieldOriginal, type ContactFieldWithLiterals as ContactFieldWithLiteralsOriginal, type ContextMessageOptionsOneOf as ContextMessageOptionsOneOfOriginal, type ContextMessage as ContextMessageOriginal, type ConverseRequest as ConverseRequestOriginal, type ConverseRequestRequestOneOf as ConverseRequestRequestOneOfOriginal, type ConverseResponse as ConverseResponseOriginal, type ConverseResponseResponseOneOf as ConverseResponseResponseOneOfOriginal, type CorrectAnswersList as CorrectAnswersListOriginal, type CreateInteractiveFormSessionRequest as CreateInteractiveFormSessionRequestOriginal, type CreateInteractiveFormSessionResponse as CreateInteractiveFormSessionResponseOriginal, type CreateInteractiveFormSessionStreamedRequest as CreateInteractiveFormSessionStreamedRequestOriginal, type CreateInteractiveFormSessionStreamedResponse as CreateInteractiveFormSessionStreamedResponseOriginal, Crop as CropOriginal, type CropWithLiterals as CropWithLiteralsOriginal, type CustomFieldInfo as CustomFieldInfoOriginal, type CustomOption as CustomOptionOriginal, type CustomValue as CustomValueOriginal, type DataExtensionsDetails as DataExtensionsDetailsOriginal, type DateInput as DateInputOriginal, type DatePicker as DatePickerOriginal, type DateRange as DateRangeOriginal, type DateTimeAdvancedConstraints as DateTimeAdvancedConstraintsOriginal, type DateTimeConstraints as DateTimeConstraintsOriginal, type DateTimeInput as DateTimeInputOriginal, DayOfWeek as DayOfWeekOriginal, type DayOfWeekWithLiterals as DayOfWeekWithLiteralsOriginal, type DebugDetails as DebugDetailsOriginal, type DecorationDataOneOf as DecorationDataOneOfOriginal, type Decoration as DecorationOriginal, DecorationType as DecorationTypeOriginal, type DecorationTypeWithLiterals as DecorationTypeWithLiteralsOriginal, type DefaultCountryConfigOptionsOneOf as DefaultCountryConfigOptionsOneOfOriginal, type DefaultCountryConfig as DefaultCountryConfigOriginal, DefaultCountryConfigType as DefaultCountryConfigTypeOriginal, type DefaultCountryConfigTypeWithLiterals as DefaultCountryConfigTypeWithLiteralsOriginal, type Design as DesignOriginal, DesignTarget as DesignTargetOriginal, type DesignTargetWithLiterals as DesignTargetWithLiteralsOriginal, type DeveloperOptions as DeveloperOptionsOriginal, type Dimensions as DimensionsOriginal, Direction as DirectionOriginal, type DirectionWithLiterals as DirectionWithLiteralsOriginal, type DisplayFieldDisplayFieldTypeOptionsOneOf as DisplayFieldDisplayFieldTypeOptionsOneOfOriginal, type DisplayField as DisplayFieldOriginal, DisplayFieldType as DisplayFieldTypeOriginal, type DisplayFieldTypeWithLiterals as DisplayFieldTypeWithLiteralsOriginal, DividerDataAlignment as DividerDataAlignmentOriginal, type DividerDataAlignmentWithLiterals as DividerDataAlignmentWithLiteralsOriginal, type DividerData as DividerDataOriginal, type DocumentStyle as DocumentStyleOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type DonationInputOption as DonationInputOptionOriginal, type DonationInput as DonationInputOriginal, type DropdownOption as DropdownOptionOriginal, type Dropdown as DropdownOriginal, type DynamicPriceOptions as DynamicPriceOptionsOriginal, type EmailInfo as EmailInfoOriginal, EmailInfoTag as EmailInfoTagOriginal, type EmailInfoTagWithLiterals as EmailInfoTagWithLiteralsOriginal, type EmbedData as EmbedDataOriginal, type EndOfResponseDetails as EndOfResponseDetailsOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type ErrorDetails as ErrorDetailsOriginal, type EventData as EventDataOriginal, type ExtendedFields as ExtendedFieldsOriginal, type FieldFieldTypeOptionsOneOf as FieldFieldTypeOptionsOneOfOriginal, type FieldGroup as FieldGroupOriginal, type Field as FieldOriginal, type FieldOverride as FieldOverrideOriginal, type FieldOverridePropertyTypeOptionsOneOf as FieldOverridePropertyTypeOptionsOneOfOriginal, type FieldOverrides as FieldOverridesOriginal, FieldType as FieldTypeOriginal, type FieldTypeWithLiterals as FieldTypeWithLiteralsOriginal, type FieldsOverrides as FieldsOverridesOriginal, type FieldsSettings as FieldsSettingsOriginal, type FileData as FileDataOriginal, type FileSourceDataOneOf as FileSourceDataOneOfOriginal, type FileSource as FileSourceOriginal, type FileType as FileTypeOriginal, type FileUploadDetails as FileUploadDetailsOriginal, type FileUpload as FileUploadOriginal, FirstDayOfWeek as FirstDayOfWeekOriginal, type FirstDayOfWeekWithLiterals as FirstDayOfWeekWithLiteralsOriginal, type FixedPayment as FixedPaymentOriginal, type FixedPriceOptions as FixedPriceOptionsOriginal, type FontFamilyData as FontFamilyDataOriginal, type FontSizeData as FontSizeDataOriginal, FontType as FontTypeOriginal, type FontTypeWithLiterals as FontTypeWithLiteralsOriginal, type FormFieldArrayType as FormFieldArrayTypeOriginal, type FormFieldBooleanType as FormFieldBooleanTypeOriginal, type FormFieldContactInfoAdditionalInfoOneOf as FormFieldContactInfoAdditionalInfoOneOfOriginal, type FormFieldContactInfoAddressInfo as FormFieldContactInfoAddressInfoOriginal, FormFieldContactInfoContactField as FormFieldContactInfoContactFieldOriginal, type FormFieldContactInfoContactFieldWithLiterals as FormFieldContactInfoContactFieldWithLiteralsOriginal, type FormFieldContactInfoCustomFieldInfo as FormFieldContactInfoCustomFieldInfoOriginal, type FormFieldContactInfoEmailInfo as FormFieldContactInfoEmailInfoOriginal, FormFieldContactInfoEmailInfoTag as FormFieldContactInfoEmailInfoTagOriginal, type FormFieldContactInfoEmailInfoTagWithLiterals as FormFieldContactInfoEmailInfoTagWithLiteralsOriginal, type FormFieldContactInfo as FormFieldContactInfoOriginal, type FormFieldContactInfoPhoneInfo as FormFieldContactInfoPhoneInfoOriginal, FormFieldContactInfoPhoneInfoTag as FormFieldContactInfoPhoneInfoTagOriginal, type FormFieldContactInfoPhoneInfoTagWithLiterals as FormFieldContactInfoPhoneInfoTagWithLiteralsOriginal, type FormFieldContactInfoSubscriptionInfo as FormFieldContactInfoSubscriptionInfoOriginal, type FormFieldNumberType as FormFieldNumberTypeOriginal, type FormFieldObjectType as FormFieldObjectTypeOriginal, type FormField as FormFieldOriginal, type FormFieldStringTypeFormatOptionsOneOf as FormFieldStringTypeFormatOptionsOneOfOriginal, type FormFieldStringType as FormFieldStringTypeOriginal, type FormLayout as FormLayoutOriginal, type Form as FormOriginal, type FormOverride as FormOverrideOriginal, type FormProperties as FormPropertiesOriginal, type FormRule as FormRuleOriginal, FormatEnumFormat as FormatEnumFormatOriginal, type FormatEnumFormatWithLiterals as FormatEnumFormatWithLiteralsOriginal, Format as FormatOriginal, type FormatWithLiterals as FormatWithLiteralsOriginal, type FunctionCallOptions as FunctionCallOptionsOriginal, type FunctionCallOutputOptions as FunctionCallOutputOptionsOriginal, type GIFData as GIFDataOriginal, type GIF as GIFOriginal, GIFType as GIFTypeOriginal, type GIFTypeWithLiterals as GIFTypeWithLiteralsOriginal, type GalleryData as GalleryDataOriginal, type GalleryOptionsLayout as GalleryOptionsLayoutOriginal, type GalleryOptions as GalleryOptionsOriginal, type GenerateFormSummaryApplicationErrors as GenerateFormSummaryApplicationErrorsOriginal, type GenerateFormSummaryRequest as GenerateFormSummaryRequestOriginal, type GenerateFormSummaryResponse as GenerateFormSummaryResponseOriginal, type GetStateRequest as GetStateRequestOriginal, type GetStateResponse as GetStateResponseOriginal, type Gradient as GradientOriginal, GradientType as GradientTypeOriginal, type GradientTypeWithLiterals as GradientTypeWithLiteralsOriginal, type Group as GroupOriginal, type HTMLDataDataOneOf as HTMLDataDataOneOfOriginal, type HTMLData as HTMLDataOriginal, type HeadingData as HeadingDataOriginal, type Height as HeightOriginal, type HiddenOptions as HiddenOptionsOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type ImageData as ImageDataOriginal, type ImageDataStyles as ImageDataStylesOriginal, ImageFit as ImageFitOriginal, type ImageFitWithLiterals as ImageFitWithLiteralsOriginal, type Image as ImageOriginal, ImagePosition as ImagePositionOriginal, ImagePositionPosition as ImagePositionPositionOriginal, type ImagePositionPositionWithLiterals as ImagePositionPositionWithLiteralsOriginal, type ImagePositionWithLiterals as ImagePositionWithLiteralsOriginal, ImageScalingScaling as ImageScalingScalingOriginal, type ImageScalingScalingWithLiterals as ImageScalingScalingWithLiteralsOriginal, type ImageStyles as ImageStylesOriginal, type ImportantTextDetails as ImportantTextDetailsOriginal, type InPersonOptions as InPersonOptionsOriginal, Indentation as IndentationOriginal, type IndentationWithLiterals as IndentationWithLiteralsOriginal, InitialExpandedItems as InitialExpandedItemsOriginal, type InitialExpandedItemsWithLiterals as InitialExpandedItemsWithLiteralsOriginal, type InputFieldInputTypeOptionsOneOf as InputFieldInputTypeOptionsOneOfOriginal, type InputField as InputFieldOriginal, InputType as InputTypeOriginal, type InputTypeWithLiterals as InputTypeWithLiteralsOriginal, type IntegerType as IntegerTypeOriginal, type InteractiveFormSession as InteractiveFormSessionOriginal, type InteractiveFormSessionResponseChunkOfOneOf as InteractiveFormSessionResponseChunkOfOneOfOriginal, type InteractiveFormSessionResponseChunk as InteractiveFormSessionResponseChunkOriginal, type ItemDataOneOf as ItemDataOneOfOriginal, type ItemImage as ItemImageOriginal, type ItemLayoutItemOneOf as ItemLayoutItemOneOfOriginal, type ItemLayout as ItemLayoutOriginal, type Item as ItemOriginal, type ItemStyle as ItemStyleOriginal, ItemType as ItemTypeOriginal, type ItemTypeWithLiterals as ItemTypeWithLiteralsOriginal, Kind as KindOriginal, type KindWithLiterals as KindWithLiteralsOriginal, type LayoutCellData as LayoutCellDataOriginal, type LayoutDataBackgroundImage as LayoutDataBackgroundImageOriginal, type LayoutDataBackground as LayoutDataBackgroundOriginal, LayoutDataBackgroundType as LayoutDataBackgroundTypeOriginal, type LayoutDataBackgroundTypeWithLiterals as LayoutDataBackgroundTypeWithLiteralsOriginal, LayoutDataImagePosition as LayoutDataImagePositionOriginal, type LayoutDataImagePositionWithLiterals as LayoutDataImagePositionWithLiteralsOriginal, type LayoutData as LayoutDataOriginal, Layout as LayoutOriginal, LayoutType as LayoutTypeOriginal, type LayoutTypeWithLiterals as LayoutTypeWithLiteralsOriginal, type LayoutWithLiterals as LayoutWithLiteralsOriginal, type LimitationRule as LimitationRuleOriginal, LineStyle as LineStyleOriginal, type LineStyleWithLiterals as LineStyleWithLiteralsOriginal, type LinkDataOneOf as LinkDataOneOfOriginal, type LinkData as LinkDataOriginal, type Link as LinkOriginal, type LinkPreviewData as LinkPreviewDataOriginal, type LinkPreviewDataStyles as LinkPreviewDataStylesOriginal, LinkTarget as LinkTargetOriginal, type LinkTargetWithLiterals as LinkTargetWithLiteralsOriginal, ListStyle as ListStyleOriginal, type ListStyleWithLiterals as ListStyleWithLiteralsOriginal, type ListValue as ListValueOriginal, type LocationLocationInfoOneOf as LocationLocationInfoOneOfOriginal, type Location as LocationOriginal, type MapData as MapDataOriginal, type MapSettings as MapSettingsOriginal, MapType as MapTypeOriginal, type MapTypeWithLiterals as MapTypeWithLiteralsOriginal, type Margin as MarginOriginal, type MeaningfulInput as MeaningfulInputOriginal, type MediaItemMediaOneOf as MediaItemMediaOneOfOriginal, type MediaItem as MediaItemOriginal, type Media as MediaOriginal, type MediaSettings as MediaSettingsOriginal, MeetingType as MeetingTypeOriginal, type MeetingTypeWithLiterals as MeetingTypeWithLiteralsOriginal, type MentionData as MentionDataOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type Metadata as MetadataOriginal, type MultiSelectInputDetails as MultiSelectInputDetailsOriginal, type MultilineAddress as MultilineAddressOriginal, type MultilineAddressValidation as MultilineAddressValidationOriginal, type NestedFormFieldOverrides as NestedFormFieldOverridesOriginal, type NestedForm as NestedFormOriginal, type NestedFormOverrides as NestedFormOverridesOriginal, type NodeDataOneOf as NodeDataOneOfOriginal, type Node as NodeOriginal, type NodeStyle as NodeStyleOriginal, NodeType as NodeTypeOriginal, type NodeTypeWithLiterals as NodeTypeWithLiteralsOriginal, NullValue as NullValueOriginal, type NullValueWithLiterals as NullValueWithLiteralsOriginal, NumberComponentType as NumberComponentTypeOriginal, type NumberComponentTypeWithLiterals as NumberComponentTypeWithLiteralsOriginal, type NumberCorrectAnswersList as NumberCorrectAnswersListOriginal, type NumberErrorMessages as NumberErrorMessagesOriginal, type NumberInputDetails as NumberInputDetailsOriginal, type NumberInput as NumberInputOriginal, NumberOfColumns as NumberOfColumnsOriginal, type NumberOfColumnsWithLiterals as NumberOfColumnsWithLiteralsOriginal, type NumberQuizFieldSettings as NumberQuizFieldSettingsOriginal, type NumberRangeLimitEndOneOf as NumberRangeLimitEndOneOfOriginal, type NumberRangeLimit as NumberRangeLimitOriginal, type NumberType as NumberTypeOriginal, type ObjectArrayComponentTypeOptionsOneOf as ObjectArrayComponentTypeOptionsOneOfOriginal, ObjectArrayComponentType as ObjectArrayComponentTypeOriginal, type ObjectArrayComponentTypeWithLiterals as ObjectArrayComponentTypeWithLiteralsOriginal, type ObjectArray as ObjectArrayOriginal, type ObjectArrayType as ObjectArrayTypeOriginal, type ObjectErrorMessages as ObjectErrorMessagesOriginal, type ObjectType as ObjectTypeOriginal, type ObjectTypePropertiesType as ObjectTypePropertiesTypeOriginal, type ObjectTypePropertiesTypePropertiesTypeOneOf as ObjectTypePropertiesTypePropertiesTypeOneOfOriginal, type Oembed as OembedOriginal, Operator as OperatorOriginal, type OperatorWithLiterals as OperatorWithLiteralsOriginal, OptInLevel as OptInLevelOriginal, type OptInLevelWithLiterals as OptInLevelWithLiteralsOriginal, type OptionDesign as OptionDesignOriginal, type OptionLayout as OptionLayoutOriginal, type Option as OptionOriginal, type OrCondition as OrConditionOriginal, type OrderedListData as OrderedListDataOriginal, Orientation as OrientationOriginal, type OrientationWithLiterals as OrientationWithLiteralsOriginal, Origin as OriginOriginal, type OriginWithLiterals as OriginWithLiteralsOriginal, type OutputInteractiveFormSessionStreamedRequest as OutputInteractiveFormSessionStreamedRequestOriginal, type OutputInteractiveFormSessionStreamedResponse as OutputInteractiveFormSessionStreamedResponseOriginal, OverrideEntityTypeEnumOverrideEntityType as OverrideEntityTypeEnumOverrideEntityTypeOriginal, type OverrideEntityTypeEnumOverrideEntityTypeWithLiterals as OverrideEntityTypeEnumOverrideEntityTypeWithLiteralsOriginal, OverrideEntityType as OverrideEntityTypeOriginal, type OverrideEntityTypeWithLiterals as OverrideEntityTypeWithLiteralsOriginal, type PDFSettings as PDFSettingsOriginal, type PageNavigationOptions as PageNavigationOptionsOriginal, type ParagraphData as ParagraphDataOriginal, type PassFailMessages as PassFailMessagesOriginal, type Password as PasswordOriginal, type PaymentComponentTypeOptionsOneOf as PaymentComponentTypeOptionsOneOfOriginal, PaymentComponentType as PaymentComponentTypeOriginal, type PaymentComponentTypeWithLiterals as PaymentComponentTypeWithLiteralsOriginal, type PaymentInput as PaymentInputOriginal, type Payment as PaymentOriginal, type PaymentType as PaymentTypeOriginal, type Permissions as PermissionsOriginal, type PhoneConstraints as PhoneConstraintsOriginal, type PhoneInfo as PhoneInfoOriginal, PhoneInfoTag as PhoneInfoTagOriginal, type PhoneInfoTagWithLiterals as PhoneInfoTagWithLiteralsOriginal, type PhoneInput as PhoneInputOriginal, type PhoneOptions as PhoneOptionsOriginal, Placement as PlacementOriginal, type PlacementWithLiterals as PlacementWithLiteralsOriginal, type PlaybackOptions as PlaybackOptionsOriginal, PluginContainerDataAlignment as PluginContainerDataAlignmentOriginal, type PluginContainerDataAlignmentWithLiterals as PluginContainerDataAlignmentWithLiteralsOriginal, type PluginContainerData as PluginContainerDataOriginal, type PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOfOriginal, type PluginContainerDataWidth as PluginContainerDataWidthOriginal, type PollDataLayout as PollDataLayoutOriginal, type PollData as PollDataOriginal, type PollDesignBackgroundBackgroundOneOf as PollDesignBackgroundBackgroundOneOfOriginal, type PollDesignBackground as PollDesignBackgroundOriginal, PollDesignBackgroundType as PollDesignBackgroundTypeOriginal, type PollDesignBackgroundTypeWithLiterals as PollDesignBackgroundTypeWithLiteralsOriginal, type PollDesign as PollDesignOriginal, PollLayoutDirection as PollLayoutDirectionOriginal, type PollLayoutDirectionWithLiterals as PollLayoutDirectionWithLiteralsOriginal, type PollLayout as PollLayoutOriginal, PollLayoutType as PollLayoutTypeOriginal, type PollLayoutTypeWithLiterals as PollLayoutTypeWithLiteralsOriginal, type PollOption as PollOptionOriginal, type Poll as PollOriginal, type PopupOptions as PopupOptionsOriginal, Position as PositionOriginal, type PositionWithLiterals as PositionWithLiteralsOriginal, type PostSubmissionTriggers as PostSubmissionTriggersOriginal, type PredefinedValidationFormatOptionsOneOf as PredefinedValidationFormatOptionsOneOfOriginal, type PredefinedValidation as PredefinedValidationOriginal, PriceType as PriceTypeOriginal, type PriceTypeWithLiterals as PriceTypeWithLiteralsOriginal, type PricingData as PricingDataOriginal, type ProductCheckboxGroupOption as ProductCheckboxGroupOptionOriginal, type ProductCheckboxGroup as ProductCheckboxGroupOriginal, type Product as ProductOriginal, type ProductPriceOptionsOneOf as ProductPriceOptionsOneOfOriginal, ProductType as ProductTypeOriginal, type ProductTypeWithLiterals as ProductTypeWithLiteralsOriginal, PropertiesTypeEnum as PropertiesTypeEnumOriginal, type PropertiesTypeEnumWithLiterals as PropertiesTypeEnumWithLiteralsOriginal, type PropertiesType as PropertiesTypeOriginal, type PropertiesTypePropertiesTypeOptionsOneOf as PropertiesTypePropertiesTypeOptionsOneOfOriginal, type QuantityLimit as QuantityLimitOriginal, type QuizFieldSettings as QuizFieldSettingsOriginal, type QuizSettings as QuizSettingsOriginal, type QuizSettingsPassingCriteriaOneOf as QuizSettingsPassingCriteriaOneOfOriginal, type QuizSettingsResultsDisplayOptionsOneOf as QuizSettingsResultsDisplayOptionsOneOfOriginal, type RadioGroupOption as RadioGroupOptionOriginal, type RadioGroup as RadioGroupOriginal, type RatingInput as RatingInputOriginal, type RedirectOptions as RedirectOptionsOriginal, type Rel as RelOriginal, type RelayAssistantMessageRequest as RelayAssistantMessageRequestOriginal, type Repeater as RepeaterOriginal, type ReportConversationRequest as ReportConversationRequestOriginal, type ReportConversationResponse as ReportConversationResponseOriginal, RequiredIndicator as RequiredIndicatorOriginal, RequiredIndicatorPlacement as RequiredIndicatorPlacementOriginal, type RequiredIndicatorPlacementWithLiterals as RequiredIndicatorPlacementWithLiteralsOriginal, type RequiredIndicatorProperties as RequiredIndicatorPropertiesOriginal, type RequiredIndicatorWithLiterals as RequiredIndicatorWithLiteralsOriginal, type RequiredOptions as RequiredOptionsOriginal, Resizing as ResizingOriginal, type ResizingWithLiterals as ResizingWithLiteralsOriginal, type Response as ResponseOriginal, ResponsivenessBehaviour as ResponsivenessBehaviourOriginal, type ResponsivenessBehaviourWithLiterals as ResponsivenessBehaviourWithLiteralsOriginal, type RestoreInfo as RestoreInfoOriginal, ResultsDisplay as ResultsDisplayOriginal, type ResultsDisplayWithLiterals as ResultsDisplayWithLiteralsOriginal, type RibbonStyles as RibbonStylesOriginal, type RichContentOptions as RichContentOptionsOriginal, type RichContent as RichContentOriginal, Role as RoleOriginal, type RoleWithLiterals as RoleWithLiteralsOriginal, type RuleFormOverrideEntityTypeOptionsOneOf as RuleFormOverrideEntityTypeOptionsOneOfOriginal, type RuleFormOverride as RuleFormOverrideOriginal, type Rule as RuleOriginal, Scaling as ScalingOriginal, type ScalingWithLiterals as ScalingWithLiteralsOriginal, type SchedulingComponentTypeOptionsOneOf as SchedulingComponentTypeOptionsOneOfOriginal, SchedulingComponentType as SchedulingComponentTypeOriginal, type SchedulingComponentTypeWithLiterals as SchedulingComponentTypeWithLiteralsOriginal, type Scheduling as SchedulingOriginal, type Section as SectionOriginal, type SendUserMessageApplicationErrors as SendUserMessageApplicationErrorsOriginal, type SendUserMessageRequest as SendUserMessageRequestOriginal, type SendUserMessageResponse as SendUserMessageResponseOriginal, type SendUserMessageStreamedApplicationErrors as SendUserMessageStreamedApplicationErrorsOriginal, type SendUserMessageStreamedRequest as SendUserMessageStreamedRequestOriginal, type SendUserMessageStreamedResponse as SendUserMessageStreamedResponseOriginal, type SeparatorDetails as SeparatorDetailsOriginal, type ServiceOption as ServiceOptionOriginal, type ServicesCheckboxGroup as ServicesCheckboxGroupOriginal, type ServicesDropdown as ServicesDropdownOriginal, type Settings as SettingsOriginal, type ShapeData as ShapeDataOriginal, type ShapeDataStyles as ShapeDataStylesOriginal, type SignatureDetails as SignatureDetailsOriginal, type Signature as SignatureOriginal, type SingleSelectInputDetails as SingleSelectInputDetailsOriginal, type SmartBlockCellData as SmartBlockCellDataOriginal, type SmartBlockData as SmartBlockDataOriginal, SmartBlockDataType as SmartBlockDataTypeOriginal, type SmartBlockDataTypeWithLiterals as SmartBlockDataTypeWithLiteralsOriginal, Source as SourceOriginal, type SourceWithLiterals as SourceWithLiteralsOriginal, SpamFilterProtectionLevel as SpamFilterProtectionLevelOriginal, type SpamFilterProtectionLevelWithLiterals as SpamFilterProtectionLevelWithLiteralsOriginal, type SpoilerData as SpoilerDataOriginal, type Spoiler as SpoilerOriginal, StaffStrategySelection as StaffStrategySelectionOriginal, type StaffStrategySelectionWithLiterals as StaffStrategySelectionWithLiteralsOriginal, type Step as StepOriginal, type Stop as StopOriginal, StringComponentType as StringComponentTypeOriginal, type StringComponentTypeWithLiterals as StringComponentTypeWithLiteralsOriginal, type StringCorrectAnswersList as StringCorrectAnswersListOriginal, type StringErrorMessages as StringErrorMessagesOriginal, type StringQuizFieldSettings as StringQuizFieldSettingsOriginal, type StringTypeDateTimeConstraints as StringTypeDateTimeConstraintsOriginal, StringTypeFormatEnumFormat as StringTypeFormatEnumFormatOriginal, type StringTypeFormatEnumFormatWithLiterals as StringTypeFormatEnumFormatWithLiteralsOriginal, type StringTypeFormatOptionsOneOf as StringTypeFormatOptionsOneOfOriginal, type StringType as StringTypeOriginal, type StringTypePhoneConstraints as StringTypePhoneConstraintsOriginal, type StringTypeValidationMessages as StringTypeValidationMessagesOriginal, Style as StyleOriginal, type StyleWithLiterals as StyleWithLiteralsOriginal, type StylesBorder as StylesBorderOriginal, type Styles as StylesOriginal, StylesPosition as StylesPositionOriginal, type StylesPositionWithLiterals as StylesPositionWithLiteralsOriginal, SubmissionAccess as SubmissionAccessOriginal, type SubmissionAccessWithLiterals as SubmissionAccessWithLiteralsOriginal, type SubmissionDetails as SubmissionDetailsOriginal, type SubmitSettings as SubmitSettingsOriginal, type SubmitSettingsSubmitSuccessActionOptionsOneOf as SubmitSettingsSubmitSuccessActionOptionsOneOfOriginal, SubmitSuccessAction as SubmitSuccessActionOriginal, type SubmitSuccessActionWithLiterals as SubmitSuccessActionWithLiteralsOriginal, SubscriptionChannel as SubscriptionChannelOriginal, type SubscriptionChannelWithLiterals as SubscriptionChannelWithLiteralsOriginal, type SubscriptionInfo as SubscriptionInfoOriginal, type TableCellData as TableCellDataOriginal, type TableData as TableDataOriginal, type TagList as TagListOriginal, Tag as TagOriginal, type TagWithLiterals as TagWithLiteralsOriginal, type TagsOption as TagsOptionOriginal, type Tags as TagsOriginal, Target as TargetOriginal, type TargetWithLiterals as TargetWithLiteralsOriginal, TextAlignment as TextAlignmentOriginal, type TextAlignmentWithLiterals as TextAlignmentWithLiteralsOriginal, type TextDataDetails as TextDataDetailsOriginal, type TextData as TextDataOriginal, type TextDetails as TextDetailsOriginal, type TextInput as TextInputOriginal, type TextNodeStyle as TextNodeStyleOriginal, type TextStyle as TextStyleOriginal, type ThankYouMessageOptions as ThankYouMessageOptionsOriginal, ThumbnailsAlignment as ThumbnailsAlignmentOriginal, type ThumbnailsAlignmentWithLiterals as ThumbnailsAlignmentWithLiteralsOriginal, type Thumbnails as ThumbnailsOriginal, type TimeInput as TimeInputOriginal, type TocData as TocDataOriginal, type Tool as ToolOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, UploadFileFormat as UploadFileFormatOriginal, type UploadFileFormatWithLiterals as UploadFileFormatWithLiteralsOriginal, type UpsertContact as UpsertContactOriginal, type Usage as UsageOriginal, type UsageRequest as UsageRequestOriginal, type UserOptions as UserOptionsOriginal, type V4FormFieldContactInfoAdditionalInfoOneOf as V4FormFieldContactInfoAdditionalInfoOneOfOriginal, type V4FormFieldContactInfo as V4FormFieldContactInfoOriginal, ValidationFormat as ValidationFormatOriginal, type ValidationFormatWithLiterals as ValidationFormatWithLiteralsOriginal, type ValidationMessages as ValidationMessagesOriginal, type Validation as ValidationOriginal, type ValidationValidationOneOf as ValidationValidationOneOfOriginal, VerticalAlignmentAlignment as VerticalAlignmentAlignmentOriginal, type VerticalAlignmentAlignmentWithLiterals as VerticalAlignmentAlignmentWithLiteralsOriginal, VerticalAlignment as VerticalAlignmentOriginal, type VerticalAlignmentWithLiterals as VerticalAlignmentWithLiteralsOriginal, type VideoConferenceOptions as VideoConferenceOptionsOriginal, type VideoData as VideoDataOriginal, type Video as VideoOriginal, ViewMode as ViewModeOriginal, type ViewModeWithLiterals as ViewModeWithLiteralsOriginal, ViewRole as ViewRoleOriginal, type ViewRoleWithLiterals as ViewRoleWithLiteralsOriginal, VoteRole as VoteRoleOriginal, type VoteRoleWithLiterals as VoteRoleWithLiteralsOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, Width as WidthOriginal, WidthType as WidthTypeOriginal, type WidthTypeWithLiterals as WidthTypeWithLiteralsOriginal, type WidthWithLiterals as WidthWithLiteralsOriginal, type WixFileComponentTypeOptionsOneOf as WixFileComponentTypeOptionsOneOfOriginal, WixFileComponentType as WixFileComponentTypeOriginal, type WixFileComponentTypeWithLiterals as WixFileComponentTypeWithLiteralsOriginal, type WixFile as WixFileOriginal, type _ArrayComponentTypeOptionsOneOf as _ArrayComponentTypeOptionsOneOfOriginal, type _Array as _ArrayOriginal, type _BooleanComponentTypeOptionsOneOf as _BooleanComponentTypeOptionsOneOfOriginal, type _Boolean as _BooleanOriginal, type _NumberComponentTypeOptionsOneOf as _NumberComponentTypeOptionsOneOfOriginal, type _Number as _NumberOriginal, type _Object as _ObjectOriginal, type _StringComponentTypeOptionsOneOf as _StringComponentTypeOptionsOneOfOriginal, type _String as _StringOriginal, type __PublicMethodMetaInfo, createInteractiveFormSession, createInteractiveFormSessionStreamed, generateFormSummary, sendUserMessage, sendUserMessageStreamed };