/** * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout). * It also contains customizable messages and labels. * * * A form is an ordered list of controls (blocks), which accept guest information into a field input. * * Each control contains one or more nested inputs. For example, `Name` control has two inputs: * - First Name * - Last Name * * By default, name and email controls are always required and are pinned to the top of the form. */ export interface Form { /** Nested fields as an ordered list. */ controls?: InputControl[]; /** Set of configured form messages. */ messages?: FormMessages; } /** * A block of nested fields. * Used to aggregate similar inputs like First Name and Last Name. */ export interface InputControl { /** * Field control type. Possible values: * - `INPUT`: Single text value field. * - `TEXTAREA`: Single text value field with multiple lines. * - `DROPDOWN`: Single-choice field with predefined values. * - `RADIO`: Single-choice field with predefined values. * - `CHECKBOX`: Multiple-choice field with predefined values. * - `NAME`: Fields for entering first and last names. * - `GUEST_CONTROL`: Fields for additional guests and their respective names. * - `ADDRESS_SHORT`: Single-line address field. * - `ADDRESS_FULL`: Full address field with multiple lines. * - `DATE`: Fields for entering year, month, and day. */ type?: InputControlType; /** * Whether the control is mandatory (such as `name` & `email`). * When `true`, only the label can be changed. */ system?: boolean; /** * Deprecated: Use `id`. * @deprecated */ name?: string; /** Child inputs. */ inputs?: Input[]; /** * Deprecated: use `inputs.label`. * @deprecated */ label?: string; /** Field controls are sorted by this value in ascending order. */ orderIndex?: number; /** Unique control ID. */ _id?: string; /** * Whether input control is deleted. * @readonly */ deleted?: boolean | null; } export declare enum InputControlType { /** Single text value field. */ INPUT = "INPUT", /** Single text value field. */ TEXTAREA = "TEXTAREA", /** Single-choice field of predefined values. */ DROPDOWN = "DROPDOWN", /** Single-choice field of predefined values. */ RADIO = "RADIO", /** Multiple-choice field of predefined values. */ CHECKBOX = "CHECKBOX", /** First and last name fields. */ NAME = "NAME", /** Additional guests and respective guest names fields. */ GUEST_CONTROL = "GUEST_CONTROL", /** Single-line address field. */ ADDRESS_SHORT = "ADDRESS_SHORT", /** Full address field. */ ADDRESS_FULL = "ADDRESS_FULL", /** Year, month and day fields. */ DATE = "DATE" } /** An input of one or multiple text values */ export interface Input { /** Field name. */ name?: string; /** * Deprecated: use `ValueType.TEXT_ARRAY`. * @deprecated */ array?: boolean; /** Main field label */ label?: string; /** Additional labels for multi-valued fields such as address. */ additionalLabels?: Record; /** Predefined choice options for fields, such as dropdown. */ options?: string[]; /** Whether field is mandatory. */ mandatory?: boolean; /** Maximum number of accepted characters (relevant for text fields). */ maxLength?: number; /** * Type which determines field format. * Used to validate submitted response. */ type?: ValueType; /** * The maximum number of accepted values for array input. * **Note:** Only applicable for `TEXT_ARRAY` input fields. */ maxSize?: number | null; /** * Preselected option. * Currently only applicable for dropdown. */ defaultOptionSelection?: OptionSelection; /** * Additional labels for multi-valued fields such as address. * @readonly */ labels?: Label[]; } export declare enum ValueType { TEXT = "TEXT", NUMBER = "NUMBER", TEXT_ARRAY = "TEXT_ARRAY", DATE_TIME = "DATE_TIME", ADDRESS = "ADDRESS" } /** * Describes initially selected option when an input has multiple choices. * Defaults to first (0th) option if not configured. */ export interface OptionSelection extends OptionSelectionSelectedOptionOneOf { /** 0-based index from predefined `input.options` which is selected initially. */ optionIndex?: number; /** * Placeholder hint describing expected choices (such as "Please select"). * Considered an empty choice. */ placeholderText?: string; } /** @oneof */ export interface OptionSelectionSelectedOptionOneOf { /** 0-based index from predefined `input.options` which is selected initially. */ optionIndex?: number; /** * Placeholder hint describing expected choices (such as "Please select"). * Considered an empty choice. */ placeholderText?: string; } export interface Label { /** Field name. */ name?: string; /** Field label. */ label?: string; } /** * Defines form messages shown in UI before, during, and after registration flow. * It enables configuration of form titles, response labels, "thank you" messages, and call-to-action texts. */ export interface FormMessages { /** RSVP form messages. */ rsvp?: RsvpFormMessages; /** Checkout form messages. */ checkout?: CheckoutFormMessages; /** Messages shown when event registration is closed. */ registrationClosed?: RegistrationClosedMessages; /** Messages shown when event tickets are unavailable. */ ticketsUnavailable?: TicketsUnavailableMessages; } export interface RsvpFormMessages { /** Label text indicating RSVP `YES` response. */ rsvpYesOption?: string; /** Label text indicating RSVP `NO` response. */ rsvpNoOption?: string; /** Messages shown for RSVP = `YES`. */ positiveMessages?: Positive; /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */ waitlistMessages?: Positive; /** Messages shown for RSVP = `NO`. */ negativeMessages?: Negative; /** "Submit form" call-to-action label text. */ submitActionLabel?: string; } /** Confirmation messages shown after registration. */ export interface PositiveResponseConfirmation { /** Confirmation message title. */ title?: string; /** Confirmation message text. */ message?: string; /** "Add to calendar" call-to-action label text. */ addToCalendarActionLabel?: string; /** "Share event" call-to-action label text. */ shareActionLabel?: string; } /** Confirmation messages shown after registration. */ export interface NegativeResponseConfirmation { /** Confirmation message title. */ title?: string; /** "Share event" call-to-action label text. */ shareActionLabel?: string; } /** Set of messages shown during registration when RSVP response is positive. */ export interface Positive { /** Main form title for positive response. */ title?: string; /** Confirmation messages shown after registration. */ confirmation?: PositiveResponseConfirmation; } /** A set of messages shown during registration with negative response */ export interface Negative { /** Main form title for negative response. */ title?: string; /** Confirmation messages shown after registration. */ confirmation?: NegativeResponseConfirmation; } export interface CheckoutFormMessages { /** Main form title for response. */ title?: string; /** Submit form call-to-action label text. */ submitActionLabel?: string; /** Confirmation messages shown after checkout. */ confirmation?: ResponseConfirmation; } /** Confirmation messages shown after checkout. */ export interface ResponseConfirmation { /** Confirmation message title. */ title?: string; /** Confirmation message text. */ message?: string; /** "Download tickets" call-to-action label text. */ downloadTicketsLabel?: string; /** "Add to calendar" call-to-action label text. */ addToCalendarLabel?: string; /** "Share event" call-to-action label text. */ shareEventLabel?: string; } export interface RegistrationClosedMessages { /** Message shown when event registration is closed. */ message?: string; /** "Explore other events" call-to-action label text. */ exploreEventsActionLabel?: string; } export interface TicketsUnavailableMessages { /** Message shown when event tickets are unavailable. */ message?: string; /** "Explore other events" call-to-action label text. */ exploreEventsActionLabel?: string; } export interface FormInputControlAdded { /** Event ID to which the form belongs. */ eventId?: string; /** Input control. */ inputControl?: InputControl; } export interface FormInputControlUpdated { /** Event ID to which the form belongs. */ eventId?: string; /** Input control. */ updatedInputControl?: InputControl; } export interface FormInputControlDeleted { /** Event ID to which the form belongs. */ eventId?: string; /** Input control. */ deletedInputControl?: InputControl; } export interface GetFormRequest { /** Event ID to which the form belongs. */ eventId: string; } export declare enum RequestedFields { UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD", /** Include soft deleted input controls in the response. */ DELETED = "DELETED" } export interface GetFormResponse { /** * Currently published event form. * Published form is visible to site visitors. */ form?: Form; /** * Draft event form. * Not available to visitors unless published. */ draftForm?: Form; } export interface AddControlRequest extends AddControlRequestControlOneOf { /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Single-choice radio button style input control. */ radioButton?: RadioButtonControl; /** Event ID to which the form belongs. */ eventId: string; } /** @oneof */ export interface AddControlRequestControlOneOf { /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Single-choice radio button style input control. */ radioButton?: RadioButtonControl; } export interface PhoneControl { /** Phone input label. */ label?: string; /** Whether phone input is required. */ mandatory?: boolean; } export interface AddressControl { /** Address control labels for each input. */ labels?: AddressControlLabels; /** Whether address is multi-line (consisting of multiple fields such as country, city, postal code). When false, address is single-line. */ full?: boolean; /** Whether address input is required. */ mandatory?: boolean; } export interface AddressControlLabels { /** Single-line address input label. */ addressLine?: string; /** Country input label. */ country?: string; /** Subdivision input label. */ subdivision?: string; /** City input label. */ city?: string; /** Postal code input label. */ postalCode?: string; /** Street address input label. */ streetAddress?: string; } export interface DateControl { /** Input control label. */ label?: string; /** Whether date input is required */ mandatory?: boolean; } export interface AdditionalGuestsControl { /** Additional guests control labels for each input. */ labels?: Labels; /** Whether individual guest names are required. */ namesMandatory?: boolean; /** Maximum number of additional guests. */ maxGuests?: number; } export interface Labels { /** Input label for a single guest. */ single?: string; /** Input label for multiple guests. */ multiple?: string; } export interface DropdownControl { /** Input control label. */ label?: string; /** Predefined options guests can choose from. */ options?: string[]; /** Whether choice is required. */ mandatory?: boolean; /** Preselected option. */ defaultOptionSelection?: OptionSelection; } export interface RadioButtonControl { /** Input control label. */ label?: string; /** Predefined options guests can choose from. */ options?: string[]; } export interface CheckboxControl { /** Input control label. */ label?: string; /** Whether at least one checkbox is required. */ mandatory?: boolean; /** Predefined options guests can choose from. */ options?: string[]; } export interface TextControl { /** Input control label. */ label?: string; /** Whether text input is required. */ mandatory?: boolean; /** Maximum number of characters allowed. */ maxLength?: number; /** Whether input control should allow multiple lines in text. */ multiLine?: boolean; /** Whether input control should be displayed as a comment. */ comment?: boolean; } export interface AddControlResponse { /** Generated unique input control ID. */ _id?: string; /** Modified draft event form. */ form?: Form; } export interface UpdateControlRequest extends UpdateControlRequestControlOneOf { /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Main guest name input control. */ name?: NameControl; /** Main guest email input control. */ email?: EmailControl; /** Single-choice radio style input control. */ radioButton?: RadioButtonControl; /** Event ID to which the form belongs. */ eventId: string; /** Unique input control ID. */ _id: string; /** Index used to sort input controls in ascending order. */ orderIndex?: number; } /** @oneof */ export interface UpdateControlRequestControlOneOf { /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Main guest name input control. */ name?: NameControl; /** Main guest email input control. */ email?: EmailControl; /** Single-choice radio style input control. */ radioButton?: RadioButtonControl; } export interface NameControl { /** Name control labels of each input */ labels?: NameControlLabels; } export interface NameControlLabels { /** First name input label */ firstName?: string; /** Last name input label */ lastName?: string; } export interface EmailControl { /** Email input label. */ label?: string; } export interface UpdateControlResponse { /** Modified draft event form. */ form?: Form; } export interface DeleteControlRequest { /** Event ID to which the form belongs. */ eventId: string; /** Unique input control ID. */ _id: string; } export interface DeleteControlResponse { /** Modified draft event form. */ form?: Form; } export interface UpdateMessagesRequest { /** Event ID to which the form belongs. */ eventId: string; /** * Set of field paths, specifying which parts of this resource to update. * When fields are empty, request is interpreted as full update. * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics. */ fields?: string[]; /** Set of configured form messages. */ messages?: FormMessages; } export interface UpdateMessagesResponse { /** Modified draft event form. */ form?: Form; } export interface PublishDraftRequest { /** Event ID to which the form belongs. */ eventId: string; } export interface PublishDraftResponse { /** Published event form. */ form?: Form; } export interface EventUpdated { /** Event update timestamp in ISO UTC format. */ timestamp?: Date | null; /** Event ID. */ eventId?: string; /** Event location. */ location?: Location; /** Event schedule configuration. */ scheduleConfig?: ScheduleConfig; /** Event title. */ title?: string; /** * Whether schedule configuration was updated. * @deprecated */ scheduleConfigUpdated?: boolean; /** Updated event */ event?: Event; } export interface Location { /** Location name. */ name?: string | null; /** Location map coordinates. */ coordinates?: MapCoordinates; /** Single line address representation. */ address?: string | null; /** Location type. */ type?: LocationType; /** * Full address derived from formatted single line `address`. * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored. * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service. * * Migration notes: * - `full_address.formatted_address` is equivalent to `address`. * - `full_address.geocode` is equivalent to `coordinates`. */ fullAddress?: Address; /** * Defines event location as TBD (To Be Determined). * When event location is not yet defined, `name` is displayed instead of location address. * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD. */ tbd?: boolean | null; } export interface MapCoordinates { /** Latitude. */ lat?: number; /** Longitude. */ lng?: number; } export declare enum LocationType { VENUE = "VENUE", ONLINE = "ONLINE" } /** Physical address */ export interface Address extends AddressStreetOneOf { /** a break down of the street to number and street name */ streetAddress?: StreetAddress; /** Main address line (usually street and number) as free text */ addressLine1?: string | null; /** country code */ country?: string | null; /** subdivision (usually state or region) code according to ISO 3166-2 */ subdivision?: string | null; /** city name */ city?: string | null; /** zip/postal code */ postalCode?: string | null; /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */ addressLine2?: string | null; /** A string containing the human-readable address of this location */ formatted?: string | null; /** coordinates of the physical address */ location?: AddressLocation; /** country full-name */ countryFullname?: string | null; /** multi-level subdivisions from top to bottom */ subdivisions?: Subdivision[]; } /** @oneof */ export interface AddressStreetOneOf { /** a break down of the street to number and street name */ streetAddress?: StreetAddress; /** Main address line (usually street and number) as free text */ addressLine?: string | null; } export interface StreetAddress { /** street number */ number?: string; /** street name */ name?: string; } export interface AddressLocation { /** address latitude coordinates */ latitude?: number | null; /** address longitude coordinates */ longitude?: number | null; } export interface Subdivision { /** subdivision short code */ code?: string; /** subdivision full-name */ name?: string; } export declare enum SubdivisionType { UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE", /** State */ ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1", /** County */ ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2", /** City/town */ ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3", /** Neighborhood/quarter */ ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4", /** Street/block */ ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5", /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */ COUNTRY = "COUNTRY" } export interface ScheduleConfig { /** * Defines event as TBD (To Be Determined) schedule. * When event time is not yet defined, TBD message is displayed instead of event start and end times. * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD. */ scheduleTbd?: boolean; /** TBD message. */ scheduleTbdMessage?: string | null; /** Event start timestamp. */ startDate?: Date | null; /** Event end timestamp. */ endDate?: Date | null; /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */ timeZoneId?: string | null; /** Whether end date is hidden in the formatted schedule. */ endDateHidden?: boolean; /** Whether time zone is displayed in formatted schedule. */ showTimeZone?: boolean; /** Event recurrences. */ recurrences?: Recurrences; } export interface Recurrences { /** Event occurrences. */ occurrences?: Occurrence[]; /** * Recurring event category ID. * @readonly */ categoryId?: string | null; /** * Recurrence status. * @readonly */ status?: Status; } export interface Occurrence { /** Event start timestamp. */ startDate?: Date | null; /** Event end timestamp. */ endDate?: Date | null; /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */ timeZoneId?: string | null; /** Whether time zone is displayed in formatted schedule. */ showTimeZone?: boolean; } export declare enum Status { /** Event occurs only once. */ ONE_TIME = "ONE_TIME", /** Event is recurring. */ RECURRING = "RECURRING", /** Marks the next upcoming occurrence of the recurring event. */ RECURRING_NEXT = "RECURRING_NEXT", /** Marks the most recent ended occurrence of the recurring event. */ RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED", /** Marks the most recent canceled occurrence of the recurring event. */ RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED" } export interface Event { /** * Event ID. * @readonly */ _id?: string; /** Event location. */ location?: Location; /** Event scheduling. */ scheduling?: Scheduling; /** Event title. */ title?: string; /** Event description. */ description?: string; /** Rich-text content displayed in Wix UI - "About Event" section (HTML). */ about?: string; /** Main event image. */ mainImage?: string; /** Event slug URL (generated from event title). */ slug?: string; /** ISO 639-1 language code of the event (used in content translations). */ language?: string; /** Event creation timestamp. */ created?: Date | null; /** Event modified timestamp. */ modified?: Date | null; /** Event status. */ status?: EventStatus; /** RSVP or ticketing registration details. */ registration?: Registration; /** "Add to calendar" URLs. */ calendarLinks?: CalendarLinks; /** Event page URL components. */ eventPageUrl?: SiteUrl; /** Event registration form. */ form?: Form; /** Event dashboard summary of RSVP / ticket sales. */ dashboard?: Dashboard; /** Instance ID of the site where event is hosted. */ instanceId?: string; /** Guest list configuration. */ guestListConfig?: GuestListConfig; /** Event creator user ID. */ userId?: string; /** Event discussion feed. For internal use. */ feed?: Feed; /** Online conferencing details. */ onlineConferencing?: OnlineConferencing; /** SEO settings. */ seoSettings?: SeoSettings; /** Assigned contacts label key. */ assignedContactsLabel?: string | null; /** Agenda details. */ agenda?: Agenda; /** Categories this event is assigned to. */ categories?: Category[]; /** Visual settings for event. */ eventDisplaySettings?: EventDisplaySettings; } export interface Scheduling { /** Schedule configuration. */ config?: ScheduleConfig; /** Formatted schedule representation. */ formatted?: string; /** Formatted start date of the event (empty for TBD schedules). */ startDateFormatted?: string; /** Formatted start time of the event (empty for TBD schedules). */ startTimeFormatted?: string; /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */ endDateFormatted?: string; /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */ endTimeFormatted?: string; } export declare enum EventStatus { /** Event is public and scheduled to start */ SCHEDULED = "SCHEDULED", /** Event has started */ STARTED = "STARTED", /** Event has ended */ ENDED = "ENDED", /** Event was canceled */ CANCELED = "CANCELED" } export interface Registration { /** Event type. */ type?: EventType; /** Event registration status. */ status?: RegistrationStatus; /** RSVP collection details. */ rsvpCollection?: RsvpCollection; /** Ticketing details. */ ticketing?: Ticketing; /** External registration details. */ external?: ExternalEvent; /** Types of users allowed to register. */ restrictedTo?: VisitorType; /** Initial event type which was set when creating an event. */ initialType?: EventType; } export declare enum EventType { /** Type not available for this request fieldset */ NA_EVENT_TYPE = "NA_EVENT_TYPE", /** Registration via RSVP */ RSVP = "RSVP", /** Registration via ticket purchase */ TICKETS = "TICKETS", /** External registration */ EXTERNAL = "EXTERNAL", /** Registration not available */ NO_REGISTRATION = "NO_REGISTRATION" } export declare enum RegistrationStatus { /** Registration status is not applicable */ NA_REGISTRATION_STATUS = "NA_REGISTRATION_STATUS", /** Registration to event is closed */ CLOSED = "CLOSED", /** Registration to event is closed manually */ CLOSED_MANUALLY = "CLOSED_MANUALLY", /** Registration is open via RSVP */ OPEN_RSVP = "OPEN_RSVP", /** Registration to event waitlist is open via RSVP */ OPEN_RSVP_WAITLIST = "OPEN_RSVP_WAITLIST", /** Registration is open via ticket purchase */ OPEN_TICKETS = "OPEN_TICKETS", /** Registration is open via external URL */ OPEN_EXTERNAL = "OPEN_EXTERNAL", /** Registration will be open via RSVP */ SCHEDULED_RSVP = "SCHEDULED_RSVP" } export interface RsvpCollection { /** RSVP collection configuration. */ config?: RsvpCollectionConfig; } export interface RsvpCollectionConfig { /** Defines the supported RSVP statuses. */ rsvpStatusOptions?: RsvpStatusOptions; /** * Total guest limit available to register to the event. * Additional guests per RSVP are counted towards total guests. */ limit?: number | null; /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */ waitlist?: boolean; /** Registration start timestamp. */ startDate?: Date | null; /** Registration end timestamp. */ endDate?: Date | null; } export declare enum RsvpStatusOptions { /** Only YES RSVP status is available for RSVP registration */ YES_ONLY = "YES_ONLY", /** YES and NO RSVP status options are available for the registration */ YES_AND_NO = "YES_AND_NO" } export interface Ticketing { /** * Deprecated. * @deprecated */ lowestPrice?: string | null; /** * Deprecated. * @deprecated */ highestPrice?: string | null; /** Currency used in event transactions. */ currency?: string | null; /** Ticketing configuration. */ config?: TicketingConfig; /** * Price of lowest priced ticket. * @readonly */ lowestTicketPrice?: Money; /** * Price of highest priced ticket. * @readonly */ highestTicketPrice?: Money; /** * Formatted price of lowest priced ticket. * @readonly */ lowestTicketPriceFormatted?: string | null; /** * Formatted price of highest priced ticket. * @readonly */ highestTicketPriceFormatted?: string | null; /** * Whether all tickets are sold for this event. * @readonly */ soldOut?: boolean | null; } export interface TicketingConfig { /** Whether the form must be filled out separately for each ticket. */ guestAssignedTickets?: boolean; /** Tax configuration. */ taxConfig?: TaxConfig; /** Limit of tickets that can be purchased per order, default 20. */ ticketLimitPerOrder?: number; /** Duration for which the tickets being bought are reserved. */ reservationDurationInMinutes?: number | null; } export interface TaxConfig { /** Tax application settings. */ type?: TaxType; /** Tax name. */ name?: string | null; /** Tax rate (e.g.,`21.55`). */ rate?: string | null; /** Applies taxes for donations, default true. */ appliesToDonations?: boolean | null; } export declare enum TaxType { /** Tax is included in the ticket price. */ INCLUDED = "INCLUDED", /** Tax is added to the order at the checkout. */ ADDED = "ADDED", /** Tax is added to the final total at the checkout. */ ADDED_AT_CHECKOUT = "ADDED_AT_CHECKOUT" } export interface Money { /** * *Deprecated:** Use `value` instead. * @deprecated */ amount?: string; /** ISO 4217 format of the currency e.g., `USD`. */ currency?: string; /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, starts with a single (-), to indicate that the amount is negative. */ value?: string | null; } export interface ExternalEvent { /** External event registration URL. */ registration?: string; } export declare enum VisitorType { /** Site visitor (including member) */ VISITOR = "VISITOR", /** Site member */ MEMBER = "MEMBER", /** Site visitor or member */ VISITOR_OR_MEMBER = "VISITOR_OR_MEMBER" } export interface CalendarLinks { /** "Add to Google calendar" URL. */ google?: string; /** "Download ICS calendar file" URL. */ ics?: string; } /** Site URL components */ export interface SiteUrl { /** * Base URL. For premium sites, this will be the domain. * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`) */ base?: string; /** The path to that page - e.g `/my-events/weekly-meetup-2` */ path?: string; } export interface Dashboard { /** Guest RSVP summary. */ rsvpSummary?: RsvpSummary; /** * Summary of revenue and tickets sold. * (Archived orders are not included). */ ticketingSummary?: TicketingSummary; } export interface RsvpSummary { /** Total number of RSVPs. */ total?: number; /** Number of RSVPs with status `YES`. */ yes?: number; /** Number of RSVPs with status `NO`. */ no?: number; /** Number of RSVPs in waitlist. */ waitlist?: number; } export interface TicketingSummary { /** Number of tickets sold. */ tickets?: number; /** * Total revenue, excluding fees. * (taxes and payment provider fees are not deducted.) */ revenue?: Money; /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */ currencyLocked?: boolean; /** Number of orders placed. */ orders?: number; /** Total balance of confirmed transactions. */ totalSales?: Money; } export interface GuestListConfig { /** Whether members can see other members attending the event (defaults to true). */ publicGuestList?: boolean; } export interface Feed { /** Event discussion feed token. */ token?: string; } export interface OnlineConferencing { config?: OnlineConferencingConfig; session?: OnlineConferencingSession; } export interface OnlineConferencingConfig { /** * Whether online conferencing is enabled (not supported for TBD schedules). * When enabled, links to join conferencing are generated and provided to guests. */ enabled?: boolean; /** Conferencing provider ID. */ providerId?: string | null; /** Conference type */ conferenceType?: ConferenceType; } export declare enum ConferenceType { /** Everyone in the meeting can publish and subscribe video and audio. */ MEETING = "MEETING", /** Guests can only subscribe to video and audio. */ WEBINAR = "WEBINAR" } export interface OnlineConferencingSession { /** * Link for event host to start the online conference session. * @readonly */ hostLink?: string; /** * Link for guests to join the online conference session. * @readonly */ guestLink?: string; /** * The password required to join online conferencing session (when relevant). * @readonly */ password?: string | null; /** * Indicates that session was created successfully on providers side. * @readonly */ sessionCreated?: boolean | null; /** * Unique session id * @readonly */ sessionId?: string | null; } export interface SeoSettings { /** URL slug */ slug?: string; /** Advanced SEO data */ advancedSeoData?: SeoSchema; /** * Hidden from SEO Site Map * @readonly */ hidden?: boolean | null; } /** * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines. * The search engines use this information for ranking purposes, or to display snippets in the search results. * This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself. */ export interface SeoSchema { /** SEO tag information. */ tags?: Tag[]; /** SEO general settings. */ settings?: Settings; } export interface Keyword { /** Keyword value. */ term?: string; /** Whether the keyword is the main focus keyword. */ isMain?: boolean; /** The source that added the keyword terms to the SEO settings. */ origin?: string | null; } export interface Tag { /** * SEO tag type. * * * Supported values: `title`, `meta`, `script`, `link`. */ type?: string; /** * A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. * For example: `{"name": "description", "content": "the description itself"}`. */ props?: Record | null; /** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */ meta?: Record | null; /** SEO tag inner content. For example, ` inner content `. */ children?: string; /** Whether the tag is a custom tag. */ custom?: boolean; /** Whether the tag is disabled. */ disabled?: boolean; } export interface Settings { /** * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled. * * * Default: `false` (Auto Redirect is enabled.) */ preventAutoRedirect?: boolean; /** User-selected keyword terms for a specific page. */ keywords?: Keyword[]; } export interface Agenda { /** Whether the schedule is enabled for the event. */ enabled?: boolean; /** * Agenda page URL. * @readonly */ pageUrl?: SiteUrl; } export interface Category { /** * Category ID. * @readonly */ _id?: string; /** Category name. */ name?: string; /** * Date and time when category was created. * @readonly */ _createdDate?: Date | null; /** * The total number of draft and published events assigned to the category. * @readonly */ counts?: CategoryCounts; /** * Category state. Possible values: * * `MANUAL`: Category is created manually by the user. * `AUTO`: Category is created automatically. * `RECURRING_EVENT`: Category is created automatically when publishing recurring events. * `HIDDEN`: Category can't be seen. * * Default: `MANUAL`. * * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`. */ states?: State[]; } export interface CategoryCounts { /** Total number of draft events assigned to the category. */ assignedEventsCount?: number | null; /** Total number of published events assigned to the category. Deleted events are excluded. */ assignedDraftEventsCount?: number | null; } export declare enum State { /** Created manually by the user. */ MANUAL = "MANUAL", /** Created automatically. */ AUTO = "AUTO", /** Created when publishing recurring events. */ RECURRING_EVENT = "RECURRING_EVENT", /** Category is hidden. */ HIDDEN = "HIDDEN" } export interface EventDisplaySettings { /** Whether event details button is hidden. Only available for events with no registration. */ hideEventDetailsButton?: boolean | null; /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */ hideEventDetailsPage?: boolean | null; } export interface LabellingSettings { } export interface RichContent { /** Node objects representing a rich content document. */ nodes?: Node[]; /** Object metadata. */ metadata?: Metadata; /** Global styling for header, paragraph, block quote, and code block nodes in the object. */ documentStyle?: DocumentStyle; } export interface Node extends NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */ layoutCellData?: LayoutCellData; /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */ type?: NodeType; /** Node ID. */ _id?: string; /** A list of child nodes. */ nodes?: Node[]; /** Padding and background color styling for the node. */ style?: NodeStyle; } /** @oneof */ export interface NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** @deprecated */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */ layoutCellData?: LayoutCellData; } export declare enum NodeType { PARAGRAPH = "PARAGRAPH", TEXT = "TEXT", HEADING = "HEADING", BULLETED_LIST = "BULLETED_LIST", ORDERED_LIST = "ORDERED_LIST", LIST_ITEM = "LIST_ITEM", BLOCKQUOTE = "BLOCKQUOTE", CODE_BLOCK = "CODE_BLOCK", VIDEO = "VIDEO", DIVIDER = "DIVIDER", FILE = "FILE", GALLERY = "GALLERY", GIF = "GIF", HTML = "HTML", IMAGE = "IMAGE", LINK_PREVIEW = "LINK_PREVIEW", /** @deprecated */ MAP = "MAP", POLL = "POLL", APP_EMBED = "APP_EMBED", BUTTON = "BUTTON", COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST", TABLE = "TABLE", EMBED = "EMBED", COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM", COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE", COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY", TABLE_CELL = "TABLE_CELL", TABLE_ROW = "TABLE_ROW", EXTERNAL = "EXTERNAL", AUDIO = "AUDIO", CAPTION = "CAPTION", LAYOUT = "LAYOUT", LAYOUT_CELL = "LAYOUT_CELL" } export interface NodeStyle { /** The top padding value in pixels. */ paddingTop?: string | null; /** The bottom padding value in pixels. */ paddingBottom?: string | null; /** The background color as a hexadecimal value. */ backgroundColor?: string | null; } export interface ButtonData { /** Styling for the button's container. */ containerData?: PluginContainerData; /** The button type. */ type?: Type; /** Styling for the button. */ styles?: Styles; /** The text to display on the button. */ text?: string | null; /** Button link details. */ link?: Link; } export interface Border { /** Border width in pixels. */ width?: number | null; /** Border radius in pixels. */ radius?: number | null; } export interface Colors { /** The text color as a hexadecimal value. */ text?: string | null; /** The border color as a hexadecimal value. */ border?: string | null; /** The background color as a hexadecimal value. */ background?: string | null; } export interface PluginContainerData { /** The width of the node when it's displayed. */ width?: PluginContainerDataWidth; /** The node's alignment within its container. */ alignment?: PluginContainerDataAlignment; /** Spoiler cover settings for the node. */ spoiler?: Spoiler; /** The height of the node when it's displayed. */ height?: Height; /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */ textWrap?: boolean | null; } export declare enum WidthType { /** Width matches the content width */ CONTENT = "CONTENT", /** Small Width */ SMALL = "SMALL", /** Width will match the original asset width */ ORIGINAL = "ORIGINAL", /** coast-to-coast display */ FULL_WIDTH = "FULL_WIDTH" } export interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } /** @oneof */ export interface PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } export declare enum PluginContainerDataAlignment { /** Center Alignment */ CENTER = "CENTER", /** Left Alignment */ LEFT = "LEFT", /** Right Alignment */ RIGHT = "RIGHT" } export interface Spoiler { /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */ enabled?: boolean | null; /** The description displayed on top of the spoiler cover. */ description?: string | null; /** The text for the button used to remove the spoiler cover. */ buttonText?: string | null; } export interface Height { /** A custom height value in pixels. */ custom?: string | null; } export declare enum Type { /** Regular link button */ LINK = "LINK", /** Triggers custom action that is defined in plugin configuration by the consumer */ ACTION = "ACTION" } export interface Styles { /** Border attributes. */ border?: Border; /** Color attributes. */ colors?: Colors; } export interface Link extends LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; /** * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows: * `SELF` - Default. Opens the linked document in the same frame as the link. * `BLANK` - Opens the linked document in a new browser tab or window. * `PARENT` - Opens the linked document in the link's parent frame. * `TOP` - Opens the linked document in the full body of the link's browser tab or window. */ target?: Target; /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */ rel?: Rel; /** A serialized object used for a custom or external link panel. */ customData?: string | null; } /** @oneof */ export interface LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; } export declare enum Target { /** Opens the linked document in the same frame as it was clicked (this is default) */ SELF = "SELF", /** Opens the linked document in a new window or tab */ BLANK = "BLANK", /** Opens the linked document in the parent frame */ PARENT = "PARENT", /** Opens the linked document in the full body of the window */ TOP = "TOP" } export interface Rel { /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */ nofollow?: boolean | null; /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */ sponsored?: boolean | null; /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */ ugc?: boolean | null; /** Indicates that this link protect referral information from being passed to the target website. */ noreferrer?: boolean | null; } export interface CodeBlockData { /** Styling for the code block's text. */ textStyle?: TextStyle; } export interface TextStyle { /** Text alignment. Defaults to `AUTO`. */ textAlignment?: TextAlignment; /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */ lineHeight?: string | null; } export declare enum TextAlignment { /** browser default, eqivalent to `initial` */ AUTO = "AUTO", /** Left align */ LEFT = "LEFT", /** Right align */ RIGHT = "RIGHT", /** Center align */ CENTER = "CENTER", /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */ JUSTIFY = "JUSTIFY" } export interface DividerData { /** Styling for the divider's container. */ containerData?: PluginContainerData; /** Divider line style. */ lineStyle?: LineStyle; /** Divider width. */ width?: Width; /** Divider alignment. */ alignment?: Alignment; } export declare enum LineStyle { /** Single Line */ SINGLE = "SINGLE", /** Double Line */ DOUBLE = "DOUBLE", /** Dashed Line */ DASHED = "DASHED", /** Dotted Line */ DOTTED = "DOTTED" } export declare enum Width { /** Large line */ LARGE = "LARGE", /** Medium line */ MEDIUM = "MEDIUM", /** Small line */ SMALL = "SMALL" } export declare enum Alignment { /** Center alignment */ CENTER = "CENTER", /** Left alignment */ LEFT = "LEFT", /** Right alignment */ RIGHT = "RIGHT" } export interface FileData { /** Styling for the file's container. */ containerData?: PluginContainerData; /** The source for the file's data. */ src?: FileSource; /** File name. */ name?: string | null; /** File type. */ type?: string | null; /** * Use `sizeInKb` instead. * @deprecated */ size?: number | null; /** Settings for PDF files. */ pdfSettings?: PDFSettings; /** File MIME type. */ mimeType?: string | null; /** File path. */ path?: string | null; /** File size in KB. */ sizeInKb?: string | null; } export declare enum ViewMode { /** No PDF view */ NONE = "NONE", /** Full PDF view */ FULL = "FULL", /** Mini PDF view */ MINI = "MINI" } export interface FileSource extends FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; /** Indicates whether the file's source is private. Defaults to `false`. */ private?: boolean | null; } /** @oneof */ export interface FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; } export interface PDFSettings { /** * PDF view mode. One of the following: * `NONE` : The PDF isn't displayed. * `FULL` : A full page view of the PDF is displayed. * `MINI` : A mini view of the PDF is displayed. */ viewMode?: ViewMode; /** Sets whether the PDF download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Sets whether the PDF print button is disabled. Defaults to `false`. */ disablePrint?: boolean | null; } export interface GalleryData { /** Styling for the gallery's container. */ containerData?: PluginContainerData; /** The items in the gallery. */ items?: Item[]; /** Options for defining the gallery's appearance. */ options?: GalleryOptions; /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */ disableExpand?: boolean | null; /** Sets whether the gallery's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } export interface Media { /** The source for the media's data. */ src?: FileSource; /** Media width in pixels. */ width?: number | null; /** Media height in pixels. */ height?: number | null; /** Media duration in seconds. Only relevant for audio and video files. */ duration?: number | null; } export interface Image { /** Image file details. */ media?: Media; /** Link details for images that are links. */ link?: Link; } export interface Video { /** Video file details. */ media?: Media; /** Video thumbnail file details. */ thumbnail?: Media; } export interface Item extends ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; /** Item title. */ title?: string | null; /** Item's alternative text. */ altText?: string | null; } /** @oneof */ export interface ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; } export interface GalleryOptions { /** Gallery layout. */ layout?: Layout; /** Styling for gallery items. */ item?: ItemStyle; /** Styling for gallery thumbnail images. */ thumbnails?: Thumbnails; } export declare enum LayoutType { /** Collage type */ COLLAGE = "COLLAGE", /** Masonry type */ MASONRY = "MASONRY", /** Grid type */ GRID = "GRID", /** Thumbnail type */ THUMBNAIL = "THUMBNAIL", /** Slider type */ SLIDER = "SLIDER", /** Slideshow type */ SLIDESHOW = "SLIDESHOW", /** Panorama type */ PANORAMA = "PANORAMA", /** Column type */ COLUMN = "COLUMN", /** Magic type */ MAGIC = "MAGIC", /** Fullsize images type */ FULLSIZE = "FULLSIZE" } export declare enum Orientation { /** Rows Orientation */ ROWS = "ROWS", /** Columns Orientation */ COLUMNS = "COLUMNS" } export declare enum Crop { /** Crop to fill */ FILL = "FILL", /** Crop to fit */ FIT = "FIT" } export declare enum ThumbnailsAlignment { /** Top alignment */ TOP = "TOP", /** Right alignment */ RIGHT = "RIGHT", /** Bottom alignment */ BOTTOM = "BOTTOM", /** Left alignment */ LEFT = "LEFT", /** No thumbnail */ NONE = "NONE" } export interface Layout { /** Gallery layout type. */ type?: LayoutType; /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */ horizontalScroll?: boolean | null; /** Gallery orientation. */ orientation?: Orientation; /** The number of columns to display on full size screens. */ numberOfColumns?: number | null; /** The number of columns to display on mobile screens. */ mobileNumberOfColumns?: number | null; } export interface ItemStyle { /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */ targetSize?: number | null; /** Item ratio */ ratio?: number | null; /** Sets how item images are cropped. */ crop?: Crop; /** The spacing between items in pixels. */ spacing?: number | null; } export interface Thumbnails { /** Thumbnail alignment. */ placement?: ThumbnailsAlignment; /** Spacing between thumbnails in pixels. */ spacing?: number | null; } export interface GIFData { /** Styling for the GIF's container. */ containerData?: PluginContainerData; /** The source of the full size GIF. */ original?: GIF; /** The source of the downsized GIF. */ downsized?: GIF; /** Height in pixels. */ height?: number; /** Width in pixels. */ width?: number; /** Type of GIF (Sticker or GIF). Defaults to `GIF`. */ gifType?: GIFType; } export interface GIF { /** GIF format URL. */ gif?: string | null; /** MP4 format URL. */ mp4?: string | null; /** Thumbnail URL. */ still?: string | null; } export declare enum GIFType { GIF = "GIF", STICKER = "STICKER" } export interface HeadingData { /** Heading level from 1-6. */ level?: number; /** Styling for the heading text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; } export interface HTMLData extends HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */ containerData?: PluginContainerData; /** The type of HTML code. */ source?: Source; /** If container height is aligned with its content height. Defaults to `true`. */ autoHeight?: boolean | null; } /** @oneof */ export interface HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; } export declare enum Source { HTML = "HTML", ADSENSE = "ADSENSE" } export interface ImageData { /** Styling for the image's container. */ containerData?: PluginContainerData; /** Image file details. */ image?: Media; /** Link details for images that are links. */ link?: Link; /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */ disableExpand?: boolean | null; /** Image's alternative text. */ altText?: string | null; /** * Deprecated: use Caption node instead. * @deprecated */ caption?: string | null; /** Sets whether the image's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } export interface LinkPreviewData { /** Styling for the link preview's container. */ containerData?: PluginContainerData; /** Link details. */ link?: Link; /** Preview title. */ title?: string | null; /** Preview thumbnail URL. */ thumbnailUrl?: string | null; /** Preview description. */ description?: string | null; /** The preview content as HTML. */ html?: string | null; } export interface MapData { /** Styling for the map's container. */ containerData?: PluginContainerData; /** Map settings. */ mapSettings?: MapSettings; } export interface MapSettings { /** The address to display on the map. */ address?: string | null; /** Sets whether the map is draggable. */ draggable?: boolean | null; /** Sets whether the location marker is visible. */ marker?: boolean | null; /** Sets whether street view control is enabled. */ streetViewControl?: boolean | null; /** Sets whether zoom control is enabled. */ zoomControl?: boolean | null; /** Location latitude. */ lat?: number | null; /** Location longitude. */ lng?: number | null; /** Location name. */ locationName?: string | null; /** Sets whether view mode control is enabled. */ viewModeControl?: boolean | null; /** Initial zoom value. */ initialZoom?: number | null; /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */ mapType?: MapType; } export declare enum MapType { /** Roadmap map type */ ROADMAP = "ROADMAP", /** Satellite map type */ SATELITE = "SATELITE", /** Hybrid map type */ HYBRID = "HYBRID", /** Terrain map type */ TERRAIN = "TERRAIN" } export interface ParagraphData { /** Styling for the paragraph text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; /** Paragraph level */ level?: number | null; } export interface PollData { /** Styling for the poll's container. */ containerData?: PluginContainerData; /** Poll data. */ poll?: Poll; /** Layout settings for the poll and voting options. */ layout?: PollDataLayout; /** Styling for the poll and voting options. */ design?: Design; } export declare enum ViewRole { /** Only Poll creator can view the results */ CREATOR = "CREATOR", /** Anyone who voted can see the results */ VOTERS = "VOTERS", /** Anyone can see the results, even if one didn't vote */ EVERYONE = "EVERYONE" } export declare enum VoteRole { /** Logged in member */ SITE_MEMBERS = "SITE_MEMBERS", /** Anyone */ ALL = "ALL" } export interface Permissions { /** Sets who can view the poll results. */ view?: ViewRole; /** Sets who can vote. */ vote?: VoteRole; /** Sets whether one voter can vote multiple times. Defaults to `false`. */ allowMultipleVotes?: boolean | null; } export interface Option { /** Option ID. */ _id?: string | null; /** Option title. */ title?: string | null; /** The image displayed with the option. */ image?: Media; } export interface PollSettings { /** Permissions settings for voting. */ permissions?: Permissions; /** Sets whether voters are displayed in the vote results. Defaults to `true`. */ showVoters?: boolean | null; /** Sets whether the vote count is displayed. Defaults to `true`. */ showVotesCount?: boolean | null; } export declare enum PollLayoutType { /** List */ LIST = "LIST", /** Grid */ GRID = "GRID" } export declare enum PollLayoutDirection { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } export interface PollLayout { /** The layout for displaying the voting options. */ type?: PollLayoutType; /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */ direction?: PollLayoutDirection; /** Sets whether to display the main poll image. Defaults to `false`. */ enableImage?: boolean | null; } export interface OptionLayout { /** Sets whether to display option images. Defaults to `false`. */ enableImage?: boolean | null; } export declare enum BackgroundType { /** Color background type */ COLOR = "COLOR", /** Image background type */ IMAGE = "IMAGE", /** Gradiant background type */ GRADIENT = "GRADIENT" } export interface Gradient { /** The gradient angle in degrees. */ angle?: number | null; /** The start color as a hexademical value. */ startColor?: string | null; /** The end color as a hexademical value. */ lastColor?: string | null; } export interface Background extends BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; /** Background type. For each option, include the relevant details. */ type?: BackgroundType; } /** @oneof */ export interface BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; } export interface PollDesign { /** Background styling. */ background?: Background; /** Border radius in pixels. */ borderRadius?: number | null; } export interface OptionDesign { /** Border radius in pixels. */ borderRadius?: number | null; } export interface Poll { /** Poll ID. */ _id?: string | null; /** Poll title. */ title?: string | null; /** Poll creator ID. */ creatorId?: string | null; /** Main poll image. */ image?: Media; /** Voting options. */ options?: Option[]; /** The poll's permissions and display settings. */ settings?: PollSettings; } export interface PollDataLayout { /** Poll layout settings. */ poll?: PollLayout; /** Voting otpions layout settings. */ options?: OptionLayout; } export interface Design { /** Styling for the poll. */ poll?: PollDesign; /** Styling for voting options. */ options?: OptionDesign; } export interface TextData { /** The text to apply decorations to. */ text?: string; /** The decorations to apply. */ decorations?: Decoration[]; } /** Adds appearence changes to text */ export interface Decoration extends DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; /** The type of decoration to apply. */ type?: DecorationType; } /** @oneof */ export interface DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; } export declare enum DecorationType { BOLD = "BOLD", ITALIC = "ITALIC", UNDERLINE = "UNDERLINE", SPOILER = "SPOILER", ANCHOR = "ANCHOR", MENTION = "MENTION", LINK = "LINK", COLOR = "COLOR", FONT_SIZE = "FONT_SIZE", EXTERNAL = "EXTERNAL" } export interface AnchorData { /** The target node's ID. */ anchor?: string; } export interface ColorData { /** The text's background color as a hexadecimal value. */ background?: string | null; /** The text's foreground color as a hexadecimal value. */ foreground?: string | null; } export interface LinkData { /** Link details. */ link?: Link; } export interface MentionData { /** The mentioned user's name. */ name?: string; /** The version of the user's name that appears after the `@` character in the mention. */ slug?: string; /** Mentioned user's ID. */ _id?: string | null; } export interface FontSizeData { /** The units used for the font size. */ unit?: FontType; /** Font size value. */ value?: number | null; } export declare enum FontType { PX = "PX", EM = "EM" } export interface SpoilerData { /** Spoiler ID. */ _id?: string | null; } export interface AppEmbedData extends AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; /** The type of Wix App content being embedded. */ type?: AppType; /** The ID of the embedded content. */ itemId?: string | null; /** The name of the embedded content. */ name?: string | null; /** * Deprecated: Use `image` instead. * @deprecated */ imageSrc?: string | null; /** The URL for the embedded content. */ url?: string | null; /** An image for the embedded content. */ image?: Media; } /** @oneof */ export interface AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; } export declare enum AppType { PRODUCT = "PRODUCT", EVENT = "EVENT", BOOKING = "BOOKING" } export interface BookingData { /** Booking duration in minutes. */ durations?: string | null; } export interface EventData { /** Event schedule. */ scheduling?: string | null; /** Event location. */ location?: string | null; } export interface VideoData { /** Styling for the video's container. */ containerData?: PluginContainerData; /** Video details. */ video?: Media; /** Video thumbnail details. */ thumbnail?: Media; /** Sets whether the video's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Video title. */ title?: string | null; /** Video options. */ options?: PlaybackOptions; } export interface PlaybackOptions { /** Sets whether the media will automatically start playing. */ autoPlay?: boolean | null; /** Sets whether media's will be looped. */ playInLoop?: boolean | null; /** Sets whether media's controls will be shown. */ showControls?: boolean | null; } export interface EmbedData { /** Styling for the oEmbed node's container. */ containerData?: PluginContainerData; /** An [oEmbed](https://www.oembed.com) object. */ oembed?: Oembed; /** Origin asset source. */ src?: string | null; } export interface Oembed { /** The resource type. */ type?: string | null; /** The width of the resource specified in the `url` property in pixels. */ width?: number | null; /** The height of the resource specified in the `url` property in pixels. */ height?: number | null; /** Resource title. */ title?: string | null; /** The source URL for the resource. */ url?: string | null; /** HTML for embedding a video player. The HTML should have no padding or margins. */ html?: string | null; /** The name of the author or owner of the resource. */ authorName?: string | null; /** The URL for the author or owner of the resource. */ authorUrl?: string | null; /** The name of the resource provider. */ providerName?: string | null; /** The URL for the resource provider. */ providerUrl?: string | null; /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */ thumbnailUrl?: string | null; /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */ thumbnailWidth?: string | null; /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */ thumbnailHeight?: string | null; /** The URL for an embedded viedo. */ videoUrl?: string | null; /** The oEmbed version number. This value must be `1.0`. */ version?: string | null; } export interface CollapsibleListData { /** Styling for the collapsible list's container. */ containerData?: PluginContainerData; /** If `true`, only one item can be expanded at a time. Defaults to `false`. */ expandOnlyOne?: boolean | null; /** Sets which items are expanded when the page loads. */ initialExpandedItems?: InitialExpandedItems; /** The direction of the text in the list. Either left-to-right or right-to-left. */ direction?: Direction; /** If `true`, The collapsible item will appear in search results as an FAQ. */ isQapageData?: boolean | null; } export declare enum InitialExpandedItems { /** First item will be expended initally */ FIRST = "FIRST", /** All items will expended initally */ ALL = "ALL", /** All items collapsed initally */ NONE = "NONE" } export declare enum Direction { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } export interface TableData { /** Styling for the table's container. */ containerData?: PluginContainerData; /** The table's dimensions. */ dimensions?: Dimensions; /** * Deprecated: Use `rowHeader` and `columnHeader` instead. * @deprecated */ header?: boolean | null; /** Sets whether the table's first row is a header. Defaults to `false`. */ rowHeader?: boolean | null; /** Sets whether the table's first column is a header. Defaults to `false`. */ columnHeader?: boolean | null; } export interface Dimensions { /** An array representing relative width of each column in relation to the other columns. */ colsWidthRatio?: number[]; /** An array representing the height of each row in pixels. */ rowsHeight?: number[]; /** An array representing the minimum width of each column in pixels. */ colsMinWidth?: number[]; } export interface TableCellData { /** Styling for the cell's background color and text alignment. */ cellStyle?: CellStyle; /** The cell's border colors. */ borderColors?: BorderColors; } export declare enum VerticalAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } export interface CellStyle { /** Vertical alignment for the cell's text. */ verticalAlignment?: VerticalAlignment; /** Cell background color as a hexadecimal value. */ backgroundColor?: string | null; } export interface BorderColors { /** Left border color as a hexadecimal value. */ left?: string | null; /** Right border color as a hexadecimal value. */ right?: string | null; /** Top border color as a hexadecimal value. */ top?: string | null; /** Bottom border color as a hexadecimal value. */ bottom?: string | null; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. */ export declare enum NullValue { /** Null value. */ NULL_VALUE = "NULL_VALUE" } /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. */ export interface ListValue { /** Repeated field of dynamically typed values. */ values?: any[]; } export interface AudioData { /** Styling for the audio node's container. */ containerData?: PluginContainerData; /** Audio file details. */ audio?: Media; /** Sets whether the audio node's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Cover image. */ coverImage?: Media; /** Track name. */ name?: string | null; /** Author name. */ authorName?: string | null; /** An HTML version of the audio node. */ html?: string | null; } export interface OrderedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** List start number. */ start?: number | null; } export interface BulletedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; } export interface BlockquoteData { /** Indentation level from 1-4. */ indentation?: number; } export interface CaptionData { textStyle?: TextStyle; } export interface LayoutCellData { /** Size of the cell in 12 columns grid. */ colSpan?: number | null; } export interface Metadata { /** Schema version. */ version?: number; /** * When the object was created. * @readonly * @deprecated */ createdTimestamp?: Date | null; /** * When the object was most recently updated. * @deprecated */ updatedTimestamp?: Date | null; /** Object ID. */ _id?: string | null; } export interface DocumentStyle { /** Styling for H1 nodes. */ headerOne?: TextNodeStyle; /** Styling for H2 nodes. */ headerTwo?: TextNodeStyle; /** Styling for H3 nodes. */ headerThree?: TextNodeStyle; /** Styling for H4 nodes. */ headerFour?: TextNodeStyle; /** Styling for H5 nodes. */ headerFive?: TextNodeStyle; /** Styling for H6 nodes. */ headerSix?: TextNodeStyle; /** Styling for paragraph nodes. */ paragraph?: TextNodeStyle; /** Styling for block quote nodes. */ blockquote?: TextNodeStyle; /** Styling for code block nodes. */ codeBlock?: TextNodeStyle; } export interface TextNodeStyle { /** The decorations to apply to the node. */ decorations?: Decoration[]; /** Padding and background color for the node. */ nodeStyle?: NodeStyle; /** Line height for text in the node. */ lineHeight?: string | null; } export interface DiscardDraftRequest { /** Event ID to which the form belongs. */ eventId: string; } export interface DiscardDraftResponse { } export interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } /** @oneof */ export interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } export interface EntityCreatedEvent { entity?: string; } export interface RestoreInfo { deletedDate?: Date | null; } export interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } export interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntity?: string | null; } export interface ActionEvent { body?: string; } export interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } export interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** @readonly */ identityType?: WebhookIdentityType; } /** @oneof */ export interface IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; } export declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface OptionSelectionNonNullableFields { optionIndex: number; placeholderText: string; } interface LabelNonNullableFields { name: string; label: string; } interface InputNonNullableFields { name: string; array: boolean; label: string; options: string[]; mandatory: boolean; maxLength: number; type: ValueType; defaultOptionSelection?: OptionSelectionNonNullableFields; labels: LabelNonNullableFields[]; } interface InputControlNonNullableFields { type: InputControlType; system: boolean; name: string; inputs: InputNonNullableFields[]; label: string; orderIndex: number; _id: string; } interface PositiveResponseConfirmationNonNullableFields { title: string; message: string; addToCalendarActionLabel: string; shareActionLabel: string; } interface PositiveNonNullableFields { title: string; confirmation?: PositiveResponseConfirmationNonNullableFields; } interface NegativeResponseConfirmationNonNullableFields { title: string; shareActionLabel: string; } interface NegativeNonNullableFields { title: string; confirmation?: NegativeResponseConfirmationNonNullableFields; } interface RsvpFormMessagesNonNullableFields { rsvpYesOption: string; rsvpNoOption: string; positiveMessages?: PositiveNonNullableFields; waitlistMessages?: PositiveNonNullableFields; negativeMessages?: NegativeNonNullableFields; submitActionLabel: string; } interface ResponseConfirmationNonNullableFields { title: string; message: string; downloadTicketsLabel: string; addToCalendarLabel: string; shareEventLabel: string; } interface CheckoutFormMessagesNonNullableFields { title: string; submitActionLabel: string; confirmation?: ResponseConfirmationNonNullableFields; } interface RegistrationClosedMessagesNonNullableFields { message: string; exploreEventsActionLabel: string; } interface TicketsUnavailableMessagesNonNullableFields { message: string; exploreEventsActionLabel: string; } interface FormMessagesNonNullableFields { rsvp?: RsvpFormMessagesNonNullableFields; checkout?: CheckoutFormMessagesNonNullableFields; registrationClosed?: RegistrationClosedMessagesNonNullableFields; ticketsUnavailable?: TicketsUnavailableMessagesNonNullableFields; } export interface FormNonNullableFields { controls: InputControlNonNullableFields[]; messages?: FormMessagesNonNullableFields; } export interface GetFormResponseNonNullableFields { form?: FormNonNullableFields; draftForm?: FormNonNullableFields; } export interface AddControlResponseNonNullableFields { _id: string; form?: FormNonNullableFields; } export interface UpdateControlResponseNonNullableFields { form?: FormNonNullableFields; } export interface DeleteControlResponseNonNullableFields { form?: FormNonNullableFields; } export interface UpdateMessagesResponseNonNullableFields { form?: FormNonNullableFields; } export interface PublishDraftResponseNonNullableFields { form?: FormNonNullableFields; } export interface BaseEventMetadata { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } export interface FormEventUpdatedEnvelope { data: EventUpdated; metadata: BaseEventMetadata; } /** @permissionScope Read Events - all read permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS * @permissionScope Manage Bookings Services and Settings * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Read Events * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS * @permissionScope Manage Portfolio * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO * @permissionScope Manage Restaurants - all permissions * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES * @permissionScope Manage Guest List * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @permissionId WIX_EVENTS.READ_EVENTS * @webhook * @eventType wix.events.events.EventUpdated */ export declare function onFormEventUpdated(handler: (event: FormEventUpdatedEnvelope) => void | Promise): void; /** * Retrieves an event registration form (both the draft and published versions). * @public * @requiredField eventId * @param eventId - Event ID to which the form belongs. * @param options - Optional fields. * @permissionId WIX_EVENTS.READ_EVENTS * @permissionScope Read Events - all read permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS * @permissionScope Manage Bookings Services and Settings * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Read Events * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS * @permissionScope Manage Portfolio * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO * @permissionScope Manage Restaurants - all permissions * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES * @permissionScope Manage Guest List * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @applicableIdentity VISITOR * @returns Currently published event form. * Published form is visible to site visitors. * @fqn wix.events.form.FormBuilder.GetForm */ export declare function getForm(eventId: string): Promise
; /** * Adds an input control to the draft form. * @public * @requiredField eventId * @param eventId - Event ID to which the form belongs. * @param options - Optional fields. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.AddControl */ export declare function addControl(eventId: string, options?: AddControlOptions): Promise; export interface AddControlOptions extends AddControlRequestControlOneOf { /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Single-choice radio button style input control. */ radioButton?: RadioButtonControl; } /** * Updates an existing input control in the draft form. * @public * @requiredField identifiers * @requiredField identifiers._id * @requiredField identifiers.eventId * @param options - Optional fields. * @param identifiers - Identifies what form to update. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.UpdateControl */ export declare function updateControl(identifiers: UpdateControlIdentifiers, options?: UpdateControlOptions): Promise; export interface UpdateControlIdentifiers extends UpdateControlRequestControlOneOf { /** Event ID to which the form belongs. */ eventId: string; /** Unique input control ID. */ _id: string; } export interface UpdateControlOptions extends UpdateControlRequestControlOneOf { /** Index used to sort input controls in ascending order. */ orderIndex?: number; /** Phone number input control. */ phone?: PhoneControl; /** Single-line or full address input control. */ address?: AddressControl; /** Day, month, year date input control. */ date?: DateControl; /** Additional guests input control. */ additionalGuests?: AdditionalGuestsControl; /** Single-choice dropdown style input control. */ dropdown?: DropdownControl; /** Multiple-choice checkbox style input control. */ checkbox?: CheckboxControl; /** Free-form text input control. */ text?: TextControl; /** Main guest name input control. */ name?: NameControl; /** Main guest email input control. */ email?: EmailControl; /** Single-choice radio style input control. */ radioButton?: RadioButtonControl; } /** * Deletes an input control from the draft form. * @public * @requiredField identifiers * @requiredField identifiers._id * @requiredField identifiers.eventId * @param identifiers - Identifies what form to delete. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.DeleteControl */ export declare function deleteControl(identifiers: DeleteControlIdentifiers): Promise; export interface DeleteControlIdentifiers { /** Event ID to which the form belongs. */ eventId: string; /** Unique input control ID. */ _id: string; } /** * Updates draft form messages, as displayed in the Wix UI before, during, and after the registration flow. * Configurable messages include form titles, response labels, "thank you" messages, and call-to-action texts. * @public * @requiredField eventId * @param eventId - Event ID to which the form belongs. * @param options - Optional fields. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.UpdateMessages */ export declare function updateMessages(eventId: string, options?: UpdateMessagesOptions): Promise; export interface UpdateMessagesOptions { /** * Set of field paths, specifying which parts of this resource to update. * When fields are empty, request is interpreted as full update. * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics. */ fields?: string[]; /** Set of configured form messages. */ messages?: FormMessages; } /** * Publishes the draft form. * @public * @requiredField eventId * @param eventId - Event ID to which the form belongs. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.PublishDraft */ export declare function publishDraft(eventId: string): Promise; /** * Clears all changes to the draft form. * @public * @requiredField eventId * @param eventId - Event ID to which the form belongs. * @permissionId WIX_EVENTS.MANAGE_EVENTS * @permissionScope Manage Events - all permissions * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS * @permissionScope Manage Events * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS * @applicableIdentity APP * @fqn wix.events.form.FormBuilder.DiscardDraft */ export declare function discardDraft(eventId: string): Promise; export {};